Svp un peu d'aide en php et sql

Résolu/Fermé
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009 - 15 mars 2009 à 17:09
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009 - 16 mars 2009 à 23:29
Bonjour,
Bonjour,

alors voila je m'explique etant nul en php je vais vous expliquer au mieu ce que je souhaiterai faire

je recoit les données de ma tabre

// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
 
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM touslescours ORDER Nom");
 
// On se déconnecte de MySQL
mysql_close();
 
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>



Et moi j'ai deux trucs que je sais pas faire

-1 je voudrais afficher mes resultats dans un tableau
ou les colones sont (nom du cours/ taille du pdf/ lien du doc)
et donc chque cours serait sur une ligne

-2 plus compliqué encore (lol comme si j'avai besoin de ca)
j'ai plus de 1000 cours alors je voudrais les afficher sur plusieurs pages 50 par page toujours triés par nom.

Je vous remerci de m'aider je suis en totale galere je suis un peu debrouillard mais la je suis perdu
Bonne journée a vous et merci encore
A voir également:

26 réponses

IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
15 mars 2009 à 17:20
Pour mettre le résultat de la requête sous forme de tableau :

...
$reponse = mysql_query('SELECT nomchamp1, nomchamp2, nomchamp3 FROM touslescours ORDER BY Nom;');
mysql_close();
$tableau = '<table>';
while($donnees=mysql_fetch_array($reponse,MYSQL_ASSOC))$tableau.='<tr><td>'.$donnees['nomchamp1'].'</td><td>'.$donnees['nomchamp2'].'</td><td>'.$resultat['nomchamp3'].'</td></tr>';
echo $tableau,'</table>';

Pour le multipage, fais appel à ton ami google ;)
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 07:27
Bonjours
Merci pour votre code, j'ai essayer de rentrer votre morceau de code et ca m'affiche une erreur

voila mon code exacte ( a par le mot de passe changer)
<?php
	          // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "dkkkkk", "ejrkcnr");
        mysql_select_db("aalloo");

	  //afficher le tableau avec les noms des poissons
	  $reponse = mysql_query('SELECT id, nom sc, nom com, photo, lien FROM Poissons ORDER BY nom com;'); 
mysql_close(); 
$tableau = '<table>'; 
while($donnees = mysql_fetch_array($reponse,MYSQL_ASSOC))$tableau.='<tr><td>'.$donnees['photo'].'</td><td>'.$donnees['nom com'].'</td><td>'.$resultat['nom sc'].'</td><td>'.$resultat['lien'].'</td></tr>'; 
echo $tableau,'</table>'; 
 
	  ?>


et voila l'erreur kil me donne
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/aquaref/www/eau douce/poissons/liste.php on line 92


c'est quoi ki va pas svp?
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
16 mars 2009 à 15:23
Comme l'erreur l'indique, c'est ta requête sql qui n'est pas bonne.

... ORDER BY nom com; -> ca c'est pas bon, si tu veux qu'il classe les informations d'abord en fonction de leur nom, puis en fonction du nombre de commentaires (?), il manque une virgule. -> ... ORDER BY nom, com;
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 17:31
non c'est pas ca en fati au debut nom sc c'est un espace tout comme nom com (ca veut dire nom commun)lol
je me suis douter que ca pouvait etre ca
alors j'ai decider de changer les nom des variable dans la table
nom sc ===> nom_sc
nom com===>nom_com

mais ca m'affiche toujours le message!!!!
0

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

Posez votre question
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
16 mars 2009 à 17:38
Probablement le nom d'un de tes champs (Evite les espaces !) qui n'est pas correct. Une faute de frappe ou de majuscule peut-être ?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 mars 2009 à 17:54
Bonjour,

essayes comme ça, avec des { } à la boucle while c'est un peu plus lisible et avec une trace d'erreur sur la requette comme ça tu verra ce qui peche

et si tu veux 10 enr il faut mettre LIMIT

pour avoir toutes les autres pages il faudra faire une pagination php, on verra ça après

<?php
	          // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "dkkkkk", "ejrkcnr");
        mysql_select_db("aalloo");

	  //afficher le tableau avec les noms des poissons
	  $reponse = mysql_query('SELECT id, nom_sc, nom_com, photo, lien FROM Poissons ORDER BY nom_com LIMIT 0,10') or die ("pb avec la requette: ".mysql_error()); 
mysql_close(); 
$tableau = '<table>';
$tableau.='<tr><th>Photo</th><th>Nom commun</th><th>Nom scientifique</th><th>lien</th></tr>'; //titres des colonnes
while($donnees = mysql_fetch_array($reponse)){
	$tableau.='<tr><td>'.$donnees['photo'].'</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td>'.$resultat['lien'].'</td></tr>'; 
}
$tableau.='</table>';

//affichage
echo $tableau; 
 
	  ?>
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 18:09
WAHOU merci beaucoup ca marche c génial merci encore a vous 2

si je peut me permettre une derniere question

dans la colone photo j'ai entrée les liens des photo donc lui il me ressort le lien. Comment puis je faire afficher l'image en 50*50? quel code dois je entré

merci encore

edit en fait ca marche pas totalement

il ne me donne pas le lien ni le nom_sc !!!!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 mars 2009 à 18:13
a la place de <td>'.$resultat['lien'].'</td>

tu mets:

<td><a href="'.$resultat['lien'].'">afficher</a></td>

si ton champ lien contient l'adresse de l'image à afficher
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
16 mars 2009 à 18:15
Tout simplement avec

echo '<img src="'.$donnes['photo'].'">';
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 mars 2009 à 18:22
hou j'ai mal lu je croyait que tu voulait faire un lien


pour la taille mets:
<img src="'.$donnes['photo'].'" width="50"  height="50" />

ou

<img src="'.$donnes['photo'].'" style=" width:50, height:50" />
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 18:35
Euh lorsque je fais les modif pour afficher la photo il me sort
Parse error: syntax error, unexpected T_STRING in /home/aquaref/www/eau douce/poissons/liste.php on line 94


la ligne 94 etant celle la:
$tableau.='<tr><td>echo '<img src=".$donnes['photo'].">';</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>'; 


je vous donne mon code:
<?php
	          // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "chepo", "chepo");
        mysql_select_db("aquaref_poissonsetplantes");

	  //afficher le tableau avec les noms des poissons
	  $reponse = mysql_query('SELECT id, nom_sc, nom_com, photo, lien FROM Poissons ORDER BY nom_com') or die ("pb avec la requette: ".mysql_error()); 
mysql_close(); 
$tableau = '<table>';
$tableau.='<tr><th>Photo</th><th>Nom commun</th><th>Nom scientifique</th><th>lien</th></tr>'; //titres des colonnes
while($donnees = mysql_fetch_array($reponse)){
	$tableau.='<tr><td>echo '<img src="'.$donnes['photo'].'">';</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>'; 
}
$tableau.='</table>';

//affichage
echo $tableau; 
 
	  ?>


merci encore pour votre aide
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
16 mars 2009 à 18:38
$tableau.='<tr><td>echo '<img src="'.$donnes['photo'].'">';</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>';

->

$tableau.='<tr><td><img src="'.$donnes['photo'].'"></td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>';
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 18:47
j'ai effectuer le changement que vous m'avez indiqué
et voila le resultat:

http://ftp10.freeheberg.com/~aquaref/eau%20douce/poissons/liste.php

il y a plusieurs petits problemes

- l'image ne s'affiche pas pourtant tout a l'heure quand on lui demandai le lien de l'image, le lien etait bien afficher

-le lien final et le nom_sc ne semble pas etre pris sur ma base de donné, alors qu'ils existent bien

je vous remet l'integralité du code :

<?php
	          // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "aquaref", "zf0s40w");
        mysql_select_db("aquaref_poissonsetplantes");

	  //afficher le tableau avec les noms des poissons
	  $reponse = mysql_query('SELECT id, nom_sc, nom_com, photo, lien FROM Poissons ORDER BY nom_com') or die ("pb avec la requette: ".mysql_error()); 
mysql_close(); 
$tableau = '<table>';
$tableau.='<tr><th>Photo</th><th>Nom commun</th><th>Nom scientifique</th><th>lien</th></tr>'; //titres des colonnes
while($donnees = mysql_fetch_array($reponse)){
	$tableau.='<tr><td><img src="'.$donnes['photo'].'" width="50"  height="50" /></td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>'; 
}
$tableau.='</table>';

//affichage
echo $tableau; 
 
	  ?>


lol et dsl pour le "un peu d'aide" je pensais pas etre aussi nul lol merci encore a vous
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
16 mars 2009 à 18:52
<img src="'.$donnes['photo'].'" width="50" height="50" />

->

<img src="'.$donneEEEEEEEEEEEEEEEEEEEs['photo'].'" width="50" height="50" />

Non, ami Terrien, tu n'es pas nul, tu es trop distrait ! ;)

Aussi, pour que PHP t'affiche toutes les erreurs, mets 'error_reporting(E_ALL);' au début de ton code.
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 19:02
youpi pour la photo ca marche merci encore tro gentil

mais 2 autres pb persistent les liens vers les pages et le nom_sc qui ne semblent pas etre pris sur la base de donné je voi pas pk il arrive a prendre le lien de la photo et le nom_com sans arriver a prendre les autres?
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
16 mars 2009 à 19:36
$tableau.='<tr><td><img src="'.$donnes['photo'].'" width="50" height="50" /></td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>';

->

$tableau.='<tr><td><img src="'.$donnes['photo'].'" width="50" height="50" /></td><td>'.$donnees['nom_com'].'</td><td>'.$donnees['nom_sc'].'</td><td><a href="'.$donnees['lien'].'">afficher</a></td></tr>';


... distraction quand tu nous tiens ...
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 21:03
merci a vous ca marche nikel chrome je suis content

voici le resultat grace a vous

http://ftp10.freeheberg.com/~aquaref/eau%20douce/poissons/liste.php

si quelqu'un sait comment modifier le style du tableau (largeur, bordure,...) merci

merci encore a ceux qui m'ont aider
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
16 mars 2009 à 21:11
Avec les CSS, bien sur ! ;)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 mars 2009 à 21:12
Bien ton site, juste un bémol, la pub est un peu gênante, une fenêtre qui apparait à chaque changement de page.

Si tu es prêt à mettre 15 € par an dans un hébergement, regardes du côté de OVH

Perso je suis chez eux avec un 60GP (1€ HT par mois nom de domaine inclus ) et pour le moment très satisfait.

avec des outils de stats etc...

tu feras vite la différence par rapport un un "gratuit"
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
16 mars 2009 à 21:42
merci pour le compliment sur mon site c gentil et pour la pub oui ca me fais BIP mais bon je ne suis qu'un pauvre etudiant et donc pas de ressources pour le moment.

sinon pour le style le CSS oui je sais mais ce que je ne sais pas c ou l'introduire ds le code php

merci
0