540 visiteur(s) en ligne
Date actuelle : 23-12-2024, 19:40 PM Bienvenue, Visiteur ! ( Identification S'enregistrer )







 
ressource_id php mysql bdd
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Auteur Message
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #11
 
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


Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
27-09-2007 04:20 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
dardadax Hors ligne
Informaticien qualifié
****

Messages : 585
Inscription : Sep 2007
Réputation : 1
Message : #12
 
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.

03-10-2007 19:47 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #13
 
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 :-)


Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
04-10-2007 04:24 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
CrazyCat Hors ligne
Touriste
*****

Messages : 331
Inscription : Jul 2006
Réputation : 0
Message : #14
 
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?


Tchat Francophone
04-10-2007 05:01 AM
Envoyer un email à cet utilisateur Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
dardadax Hors ligne
Informaticien qualifié
****

Messages : 585
Inscription : Sep 2007
Réputation : 1
Message : #15
 

$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.

04-10-2007 11:54 AM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
CrazyCat Hors ligne
Touriste
*****

Messages : 331
Inscription : Jul 2006
Réputation : 0
Message : #16
 
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.


Tchat Francophone
04-10-2007 16:39 PM
Envoyer un email à cet utilisateur Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #17
 
 
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

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
04-10-2007 16:53 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
dardadax Hors ligne
Informaticien qualifié
****

Messages : 585
Inscription : Sep 2007
Réputation : 1
Message : #18
ressource_id php mysql bdd
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.

09-10-2007 16:04 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse




Discussions apparemment similaires...
Discussion : Auteur Réponses : Affichages : Dernier message
  Probléme flash php mysql Smile 17 10 374 07-01-2020 20:58 PM
Dernier message: Bilifly
  BDD MySQL chez free rapala 8 4 428 03-10-2006 13:34 PM
Dernier message: CrazyCat

Aller à :


Utilisateur(s) parcourant cette discussion : 1 visiteur(s)