Requete php/mysql

madstrix -  
lecube Messages postés 304 Date d'inscription   Statut Membre Dernière intervention   -
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 ?
A voir également:

17 réponses

giheller Messages postés 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
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   Statut Membre Dernière intervention   54
 
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
madstrix
 
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   Statut Membre Dernière intervention   54
 
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
madstrix
 
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   Statut Membre Dernière intervention   54
 
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
madstrix
 
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   Statut Membre Dernière intervention   54
 
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
Samy
 
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   Statut Membre Dernière intervention  
 
non je me suis mal exprimer j'ai une table avec mes truc dedans
0
Samy
 
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   Statut Membre Dernière intervention  
 
ok merci je teste ça des que je peut
0
madstrix Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   352
 
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   Statut Membre Dernière intervention  
 
toujours la meme erreur
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
????
ta ligne 6 c'est laquelle ???
0
lecube Messages postés 304 Date d'inscription   Statut Membre Dernière intervention   54
 
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