Requete php/mysql

Fermé
madstrix - 29 juil. 2009 à 19:08
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 - 1 août 2009 à 21:37
Bonjour,
voila mon probleme :
j'ai une base de données se composant de deux chants (id, video)par table avec un certain nombre de table.
Comment je peut faire pour afficher sur mon site l'id de chaque table et de faire que quand je clique dessus cella m'envoi sur la video ?

17 réponses

giheller Messages postés 1878 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 20 mars 2025 142
29 juil. 2009 à 19:11
bonsoir,

le select renvoit id et vidéo

alors on fait
<a href='video'>id</a>

maintenant reste à coder ça dans le bon langage.
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
29 juil. 2009 à 19:13
Bonjour,

pas tres clair ton explication ... Tu as deux champs (Id, Video) dans une table ... Ce que je ne comprends pas, c'est pourquoi tu parles de plusieurs tables ? Sinon un "SELECT * FROM table" te retourneras tous les id et les videos associes ...Il va te falloir etre plus explicite si tu veux qu'on t'aide.
0
Donc je vais esseyer d'etre plus clair voila mon code :
<html>
<?php
mysql_connect("devservertest.free.fr", "********", "******"); // Connexion à MySQL
mysql_select_db("devservertest"); // Sélection de la base mateo21

$reponse = mysql_query("SELECT * FROM stargate");
while ($donnees = mysql_fetch_array($reponse) )
{
?>
Stargate SG-1 saison <?php echo $donnees['saison']; ?> episode <?php echo $donnees['id']; ?> <br />
<?php
}
mysql_close();
?>
</html>

ce qui donne ceci www.devservertest.free.fr/test.php

j'aimerais faire de "Stargate SG-1 saison 1 episode 1" un lien qui renvoi a la video dont l'id est 1.

En gros par exemple on a une liste 1 2 3 4 5 6 7 8 9 qui sort d'un base chaque numeraux représente quelque chose. mon je veu la variable qui va dire (si on clique sur 2) a la base affiche ce qui ya dans 2.

c'est un peu dur a expliquer
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
29 juil. 2009 à 21:04
Ah ... Oui, c'est un peu plus clair. Maintenant, je ne mettrais pas chaque saison dans un tableau, mais ajouterais un champs nom ( Var 255 ) et un autre avec le nom de la video

Ton code deviendrait :
$reponse = mysql_query("SELECT * FROM video ORDER BY Nom ASC, saison ASC, Id ASC");
while ($donnees = mysql_fetch_array($reponse) )
{

echo $donnees['Nom']." saison ".$donnees['saison']." episode <a href=\"http://video/".$donnees['video']."\">".$donnees['id']."</a> <br />\n";
}

Ca devrait etre plus ou moins ce que tu desires non ? C'est bien sur une exemple, je te conseille de faire un tableau en utilisant ROWSPAN pour le titre et faire plus joli ;-P ( Il te faudra compter le nombre de ligne avec le mem titre AVANT d'afficher les resultats)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
o lala je programme en php depuis hier xD j'ai un peu rien compris dsl
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
30 juil. 2009 à 10:59
Ce que je te propose, c'est de ne pas multiplier les tables ( surtout quand elles ont le meme format ) mais d'ajouter le titre dans la table, ainsi que le nom de ta video. Ainsi, tu reconstruit l'html directement :

print $donnees['Nom']." saison ".$donnees['saison']." episode <a href=\"http://video/".$donnees['video']."\">".$donnees['id']."</a> <br />\n";

Pour eviter les <?php echo $donnees['nom'] ?> Saison ..., tu vois que j'ai insere l'html dans php et pas l'inverse. Le . sert a concatener toutes les chaines de caracteres

C'est plus clair ?
0
d'accord j'ai compris pour le html dans le php mais je ne comprend pas le code et j'ai cette erreur maintenant:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/142/free.fr/2/f/devservertest/test.php on line 8
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
30 juil. 2009 à 11:31
J'ai tapé la requete SQL sans la verifier ( je ne suis pas chez moi :-( ), peut-etre serait-il bon de la verifier dans un phpMyAdmin ...
0
AAAAAH t'as fais une table par video ???

Merci Mateo pour les horreurs que tu fais faire au gens :o

soit j'ai mal compris soit ta base de donnée est un vrai chantier :p
0
madstrix Messages postés 25 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 14 février 2010
30 juil. 2009 à 11:48
non je me suis mal exprimer j'ai une table avec mes truc dedans
0
oui parceque tu fait un FROM stargate, je me suis dis que tu as une table par film ^^

En gros j'vais te faire un exemple, tu as ta table film :

1er champ : id;
2eme champ : nom;
3eme champ : lien;

imaginons :
id:212;
nom : Stargate;
lien : http://monsite.fr/stargate.wmv


Donc de là pour faire recuperer l'id et le lien de stargate tu fera

$variable = mysql_query(SELECT * FROM films WHERE nom LIKE "Stargate");

while ($film = mysql_fetch_array($variable) ) {

Echo $film['id'];
echo $film['lien'];

}

ca t'eviterai de faire une table pour stargate et de tout recuperer dedans voila la bonne marche a suivre ^^

Si tu fais bien ca il ne devrait pas y avoir d'erreur
0
madstrix Messages postés 25 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 14 février 2010
30 juil. 2009 à 15:29
ok merci je teste ça des que je peut
0
madstrix Messages postés 25 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 14 février 2010
1 août 2009 à 15:52
cela semble etre ça mais j'ai cette erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/142/free.fr/2/f/devservertest/test.php on line 6

avec ce code :
<?php
mysql_connect("devservertest.free.fr", "devservertest", "7gevzxp8");
mysql_select_db("devservertest");
$reponse = mysql_query("SELECT lien FROM films WHERE nom LIKE Stargate");

while ($film = mysql_fetch_array($reponse) )
{
echo $film['id'];
echo $film['lien'];
}
?>
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
1 août 2009 à 16:34
c'est un peu logique....
tu fait un select sur un champ et pres tu lui demande d'afficher d'autre champs de ta bd
donc remplace
$reponse = mysql_query("SELECT lien FROM films WHERE nom LIKE Stargate");

par
$reponse = mysql_query("SELECT * FROM films WHERE nom LIKE Stargate");


et ca devrais mieux fonctionner
0
madstrix Messages postés 25 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 14 février 2010
1 août 2009 à 17:48
toujours la meme erreur
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
1 août 2009 à 21:12
????
ta ligne 6 c'est laquelle ???
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
1 août 2009 à 21:37
Tu devrais utiliser le code suivant apres mysql_query :

if (!$reponse) {
$message = 'Requête invalide : ' . mysql_error() . "\n";
die($message);
}
else
{
while ($film = mysql_fetch_array($reponse) )
{
echo $film['id'];
echo $film['lien'];
}
}

Ca devrait donner plus de detail ;-P
0