Générer lien ouvrant vers nvlle page avec url du type page.php?video=1

Générer lien ouvrant vers nvlle page avec url du type page.php?video=1 - PHP - Programmation

Marsh Posté le 02-02-2007 à 21:33:30    

Bonjour à tous !
Malgré beaucoup de recherches sur google, je n'arrive pas à résoudre mon problème : j'ai une page .php où je vais héberger des liens vers des vidéos,  je voudrais gérer les données d'une BDD, j'arrive à afficher les données telles que titre de la vidéo, description, etc ... J'arrive aussi à générer une image qui correspond à la vidéo, et je voudrais que celle ci soit un lien vers une autre page, où grâce à la fonction get je pourrais afficher la vidéo correspondante à l'image. Je n'arrive pas du tout à générer le lien qu'il faut, je ne sais pas du tout quoi faire...

Citation :

// on crée la requête SQL
$sql = 'SELECT titre,url,image,description FROM videos ';
 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
 
echo
'<a href="'.$data['url'].'">
<img src="'.$data['image'].'"</a><br />
'.$data['titre'].'';


 
Voila le code, je voudrais donc générer un lien, qui soit porté par l'image affichée, et qui dirige vers une page de type http://monsite.com/videos.php?video=12
 
je ne sais pas du tout comment faire ..
 
Merci d'avance pour votre aide !

Reply

Marsh Posté le 02-02-2007 à 21:33:30   

Reply

Marsh Posté le 02-02-2007 à 21:46:21    

je comprend pas ton probleme ,  
mais bon je vais te donner une réponse a ce que j'ai compris  
si on reprend ca
 

Citation :


echo
'<a href="'.$data['url'].'">
<img src="'.$data['image'].'"</a><br />
'.$data['titre'].'';


 
et toi tu veut de la forme http://monsite/video.php?video=12 qui s'ouvre dans une autre page
 tout simplement tu recupére un identificateur de ton lien dans la base
 et tu fais  
 
echo "<a href="video.php?video=$data[identificateur] target="_blank" ><img <img src=$data[image] />$data[titre] </a>";
 
et dans ta page video.php tu récupére l'identificateur $_GET['video']
et tu afficher la video correspondante
 
voila si quelqun peut confirmer pour l'ouverture dans une autre page , je m'en souviens pas mais je crois que ca marche mais je suis pas sur.
et  

Reply

Marsh Posté le 02-02-2007 à 21:52:38    

oui voila c'est exactement ça que je veux ! juste que je n'arrive pas à structurer mon code ... à quoi correspond pour toi la variable "identificateur" silteplait, et comment générer cet identificateur ?
merci d'avoir pris le temps de répondre !

Reply

Marsh Posté le 02-02-2007 à 21:56:20    

ben dans ta base ,  
un lien correspond à une ligne, donc à une clé primaire de cette ligne,  
par exemple
je t'explique voici schéma de ta table
id           url
0        google.fr
1         forum.hardware(un peu de pub)
 
quand ta page tu mettra video.php?video=0  
cela voudra dire que tu veut voir google(a toi de faire la requete pour recuperer l'url correspondant),

Reply

Marsh Posté le 02-02-2007 à 22:04:37    

d'accord j'ai compris le truc. dans ma table j'ai un schéma du type:
id          2
titre       titre de ma vidéo
url         emplacement de ma vidéo
image     url de l'image
etc...
 
le problème c'est que quand je crée le lien en faisant <a href="'.$data['url']>.'">'.$data['titre']'</a> ca crée un lien du type http://monsite.com/video.php?video=http://monurl.com
 
je ne sais pas commment faire pour "contrer " ce problème

Reply

Marsh Posté le 02-02-2007 à 22:05:26    

est ce que tu pourrais me détailler la structure de la requête pour récupérer l'url correspondant ? merci encore
j'ai oublié de préciser que je ne veux pas ouvrir le lien dans une nouvelle fenêtre, juste comme un lien interne normal


Message édité par max59166 le 02-02-2007 à 22:08:24
Reply

Marsh Posté le 02-02-2007 à 22:10:35    

avant tu as mis quoi comme nom de clé primaire dans ta base

Reply

Marsh Posté le 02-02-2007 à 22:10:51    

pour que je puisse te faire la requete correctement

Reply

Marsh Posté le 02-02-2007 à 22:12:58    

j'ai sélectionné le champ id comme clé primaire (je dois le changer ???)


Message édité par max59166 le 02-02-2007 à 22:14:06
Reply

Marsh Posté le 02-02-2007 à 22:16:10    

ah attends je viens de voir
Nom de la clé   Type   Cardinalité   Action   Champ
PRIMARY  PRIMARY  1   Modifier  Supprimer  id

Reply

Marsh Posté le 02-02-2007 à 22:16:10   

Reply

Marsh Posté le 02-02-2007 à 22:22:45    

edition des liens

Citation :

// on crée la requête SQL
$sql = 'SELECT id,titre,url,image,description FROM videos ';

 

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

 

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo "<a href="video.php?video=$data[id] target="_blank" ><img <img src=$data[image] />$data[titre] </a>";
}

  

------fichier video.php
$idvideo=$_GET["video"];
// on crée la requête SQL
$sql = "SELECT url FROM videos where if=$idvideo";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
$url=$data["url"];

 

voila maintenant dans url tu as l'url de la video a toi d'en faire ce que tu veut, soir tu redirige vers la video soit tu fais afficher la video dans ta page

 


Message édité par infoman64 le 02-02-2007 à 22:23:26
Reply

Marsh Posté le 02-02-2007 à 22:30:50    

apparemment ya un petit problème :sa maffiche
Erreur SQL !
SELECT url FROM videos where if=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=' at line 1
 
et sinon tu peux m'expliquer pour afficher la vidéo dans la page stp ?

Reply

Marsh Posté le 02-02-2007 à 22:31:01    

je suis désolé du dérangement ...

Reply

Marsh Posté le 02-02-2007 à 22:33:45    

désole petite erreur de frappe
$sql = "SELECT url FROM videos where id=$idvideo";

Reply

Marsh Posté le 02-02-2007 à 22:37:43    

je ne comprends pas ...
Erreur SQL !
SELECT url FROM videos where id=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Reply

Marsh Posté le 02-02-2007 à 22:42:12    

regarde si dans l'url de ta page
tu as bien
video.php?video=quelque chose
 

Reply

Marsh Posté le 02-02-2007 à 22:45:14    

aah sa y est lol !
mais regarde ici
http://lescascadeurs.free.fr/videostest2.php?video=2
sa n'affiche rien !
Comment je dois faire pour maintenant afficher ma vidéo ?
Je m'excuse du temps que je t'ai fait perdre, en tous cas grâce à toi, j'arrive presque à ce que je veux, alors merci !


Message édité par max59166 le 02-02-2007 à 22:56:38
Reply

Marsh Posté le 02-02-2007 à 22:57:35    

ben apres je sais pas comment tu fais afficher ta video
dans la page videostest2.php  
met echo $url, pour voir si tu 'a bien l'url de la video, si tu l'as bien tu doit bien indiquer le chemin la video dans le lecteur

Reply

Marsh Posté le 02-02-2007 à 22:58:08    

dac je vais essayer je te tiens au courant ! merci !

Reply

Marsh Posté le 02-02-2007 à 22:59:39    

c'est bon ça marche je vais tenter d'affiner le truc !

Reply

Marsh Posté le 02-02-2007 à 23:00:24    

ok impec,

Reply

Marsh Posté le 02-02-2007 à 23:32:44    

voila j'ai enfin réussi à afficher une vidéo ! http://lescascadeurs.free.fr/videostest2.php?video=1
maintenant est ce que tu pourrais me dire comment, sur une autre page recensant toutes les vidéos, générer le lien correspondant à la vidéo en cliquant sur l'image ? encore merci à toi !

Reply

Marsh Posté le 03-02-2007 à 22:00:49    

je comprend pas ce que tu demande

Reply

Marsh Posté le 04-02-2007 à 00:02:53    

non en fait j'ai réussi maintenant, mais je rencontre un problème http://lescascadeurs.free.fr/videostest3.php
rien qu'en voyant cette page, vous voyez que les vidéos sont les une en dessous des autres. je voudrais afficher 4 vidéos par ligne, puis un retour à la ligne et de nouveau 4 vidéos, etc ... quelqu'un a une idée ?

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed