Forums d'entraide informatique - Les forums de PCW

Version complète : ressource_id php mysql bdd
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Il y a encore un paquet de faute, du html en php...

Bref :



$requete = "SELECT  nom_ovipare,image_petite1
          FROM ovipare
         WHERE numero_profil IN (".$numeros_profils.")[color=#ff0000];[/color]"; 


Je n'ai jamais vu un ";" dans une requete SQL moi...

Ensuite, tu mets ceci :



<table><tr><!-- ligne des images -->



Et ceci :



</tr><tr><!-- ligne des noms -->



Dans des echo Wink

ok merci pour ces infos !!
(désolé pour le temps de réponse)

Sinon, il y a une info (2 en fait) que je ne saisi pas trop. Cela concerne le "foreach"



$requete = "SELECT  nom_ovipare,image_petite1
FROM ovipare
WHERE numero_profil IN (".$numeros_profils.");";

$resultat_requete = mysql_query($requete) or die ("Impossible de recueillir les donnees");

<table><tr><!-- ligne des images -->

foreach($tableau_animaux as $numero_profil => $donnees){
echo '<td><IMG SRC="'.donnees['adresse_image'].'"></td>'
}



1/ je comprend bien qu'on stocke le résultat "resultat_requete" dans un tableau mais il n'est pas déclaré avant, ne faut-il pas le faire ou est-ce automatiquement considéré comme un tableau?

2/ que fait exactement la structure "$tableau_animaux as $numero_profil => $donnees"?
si je ne me trompe pas, elle crée un "tableau_animaux" qui correspond en fait à toutes les variables de la requête (à savoir les numéros de profil et les champs associés: nom_ovipare, image_petite1 pour chaque numéro de profil) ce serait donc un tableau 5x3 (5 numéros de profils et 3 infos: le numéro, le nom et l'image)
on stocke ensuite la ligne dans la variable donnée (tableau 5x1) et on fait appel au champ désiré via le numéro de profil pour créer (comme je le souhaite) une ligne d'images, puis une ligne de lien.
Est-ce bien ça?

Merci pour votre aide en tout cas! j'ai beau avoir des bases, apparement j'ai des erreurs récurrentes que je dois supprimer.

Salut à toi,


Déjà, tu as encore du html qui traine au milieu du php :



<table><tr><!-- ligne des images -->



Ensuite, il y a en effet un tableau qui pousse comme ça, mais si tu nous disais comment sont rangées les données que tu vas chercher dans la base de données ça nous aiderait bien :-)

Dites, y'a que moi que ça choque ça:

foreach($tableau_animaux as $numero_profil => $donnees){
echo '<td><IMG SRC="'.donnees['adresse_image'].'"></td>'
}


non? vous ne voyez pas?
donnees['adresse_image'] n'est pas une constante, il faudrait peut-être un $ devant... et PHP ne fait pas d'erreur?


$query = mysql_query('SELECT count(*) FROM ovipare') or die(mysql_error());

// on stocke le resultat de la requête (le nombre d'entrées) dans la variable $nb_entrees à l'aide de mysql_result()
$nb_entrees = mysql_result($query,0,0);

$tab_var = array();
$tab_lien = array();
$tab_lien_nom = array();

for($i=0;$i<5;$i++){
$tab_var[$i] = rand(1,$nb_entrees);
}



$numeros_profils = implode(',',$tab_var) //va créer la chaine "$tab_var[0],$tab_var[1],$tab_var[2],$tab_var[3],$tab_var[4]"

$requete = "SELECT nom_ovipare,image_petite1
FROM ovipare
WHERE numero_profil IN (".$numeros_profils.")";

$resultat_requete = mysql_query($requete) or die ("Impossible de recueillir les donnees");

echo'<table><tr><!-- ligne des images -->';

foreach($tableau_animaux as $numero_profil => $donnees){
echo '<td><IMG SRC="'.$donnees['adresse_image'].'"></td>'
}

echo'</tr><tr><!-- ligne des noms -->';

foreach($tableau_animaux as $numero_profil => $donnees){
echo '<td><IMG SRC="'.$donnees['nom'].'"></td>'
}



voila le complément de correction et d'infos.

Bon, tout d'abord ça ne peut pas marcher, c'est clair: tu fais des boucles sur la tableau $tableau_animaux alors qu'il n'est initialisé nulle part.

En fait, le but est de sortir 5 enregistrements de manière aléatoire?
essaye ça:

<?
$requete = "SELECT nom_ovipare, image_petite1 FROM ovipare ORDER BY RAND() LIMIT 5";

$res = mysql_query($requete) or die ("Impossible de recueillir les donnees");

while($row = mysql_fetch_array($res)) {
$images[] = $row['image_petite1'];
$noms[] = $row['nom_ovipare'];
}

echo '<table>
<tr><td>'.implode('</td><td>', $images).'</td></tr>
<tr><td>'.implode('</td><td>', $noms).'</td></tr>
</table>
';
?>


C'est pourtant les choses les plus simples qui fonctionnent.
Il faut que numero_profil soit une clé d'index primaire en autoincrément.

 
Citation : non ? vous ne voyez pas ?



Si si, mais des fautes, il y en a des tonnes. J'essai de voir les plus grosses pour l'instant.

Faudrait lui refaire la totalité du code pour que ça marche, y'a pas trois lignes justes qui se suivent...


Et je suis tout autant étonné que toi qu'il n'y ait aucune erreur Big Grin
CrazyCat a écrit :Bon, tout d'abord ça ne peut pas marcher, c'est clair: tu fais des boucles sur la tableau $tableau_animaux alors qu'il n'est initialisé nulle part.

En fait, le but est de sortir 5 enregistrements de manière aléatoire?
essaye ça:

<?
$requete = "SELECT nom_ovipare, image_petite1 FROM ovipare ORDER BY RAND() LIMIT 5";

$res = mysql_query($requete) or die ("Impossible de recueillir les donnees");

while($row = mysql_fetch_array($res)) {
$images[] = $row['image_petite1'];
$noms[] = $row['nom_ovipare'];
}

echo '<table>
<tr><td>'.implode('</td><td>', $images).'</td></tr>
<tr><td>'.implode('</td><td>', $noms).'</td></tr>
</table>
';
?>


C'est pourtant les choses les plus simples qui fonctionnent.
Il faut que numero_profil soit une clé d'index primaire en autoincrément.



une chose à dire : :boulet:

bah voilà pile ce qu'il me fallait... condensé, clair !! merci CrazyCat !! J'aurais jamais pensé à faire comme ça Oo

Une dernière question : à quoi sert ton " implode('</td><td>', $images).' " ?
Cela crée bien une case tableau (html) par élément du tableau (variable)?
Si je voulais mettre le lien et l'image pour l'affichage, il faudrait donc faire :



$gui='"';
echo '&amp;#60;table&amp;#62;
&amp;#60;tr&amp;#62;'.implode&amp;#40;&amp;#60;td&amp;#62;&amp;#60;img src=', $gui, $images $gui, ' alt=', $gui, $nom, $gui, ' /&amp;#62;&amp;#60;/td&amp;#62;'&amp;#41;.'&amp;#60;/tr&amp;#62;
&amp;#60;tr&amp;#62;'.implode&amp;#40;' &amp;#60;td&amp;#62;&amp;#60;a href=', $gui, './', $noms, '/', $noms, '.html', $gui, '&amp;#62;', $noms, '&amp;#60;/a&amp;#62;&amp;#60;/td&amp;#62;'&amp;#41;.'&amp;#60;/tr&amp;#62;
&amp;#60;/table&amp;#62;




En tout cas merci pour tout !! Je vais essayer de corriger les autres erreurs tout seul (merci aux messages d'erreur ^^)

Dardadax.

Pages : 1 2
URLs de référence