Page 1 sur 1

[RESOLU]très débutant... afficher les données de sa bdd

Posté : 25 mars 2005, 02:40
par fxgordon
Bonjour à vous,
je débute en php et mysql et j'aimerais faire apparaitre un menu d'apres un champ d'une table.
j'ai créé ma table test1, la connexion depuis le index.php j'y arrive, en fait j'ai les champs titre, image, id, info et je voudrai faire apparaitre un menu avec tous les entrées de "titre" qui en cliquant affiche la photo correspondante et les infos ... merci de votre aide ... en gros comment "extrait" on une donnée en fonction de son "id" ... j'ai cherché ... mais ca parait tellement simple que je n'y arrive pas !!! les mysql_fetch_row() etc .. mais ca marche pas ... si kkun pouvait me donner un gros coup de pouce !!!

Posté : 25 mars 2005, 10:15
par Cyrano
Montre nous un bout du code que tu as fait: même si ça marche pas, on aura une base pour apporter les corrections.
Sinon, il te reste un paquet de tutos, en particulier sur PHPdebutant, chapitres 11 à 17, très clair et bien illustré d'exemples.

Posté : 25 mars 2005, 10:54
par matt_m
bonjour

le tutorial de phpfrance interface de mysql avec php pourra t'etre utile...

Posté : 25 mars 2005, 14:22
par fxgordon
super merci de me répondre ...
en fait tout ce que vous me proposer comme tutos et infos sont super kool et interressant .. mais soit je sui une chèvre soit je ne sais pas lire car j'ai pratiqué ces aides ... voici un bout de mon code ...
ma table c'est produit et j voudrais cibler les données du champ image :
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('test1',$db);
// on crée la requête SQL
$sql = "SELECT image FROM produit";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
    {
    // on affiche les informations de l'enregistrement en cours
	$img = $data['image'];
	echo $img;
	}
// on ferme la connexion à mysql
mysql_close();
?>
voila et du coup l'adresse de mon image s'appelle image/imgA.jpgimage/imgB.jpg ... etc ... au lieu de cibler directement en fonction de son id !!! en afficher kune !:: :roll:

Posté : 25 mars 2005, 14:38
par Jerem'
Si tu les sélectionnes toutes c'est normal qu'il les affiche toutes :wink:

ajoute la clause WHERE id='valeur' dans ta requete pour prendre uniquement celle que tu veux

et tu peux supprimer la boucle :
$sql = "SELECT image FROM produit WHERE id='1'";
$req = mysql_query($sql) or die('Erreur SQL');
$data = mysql_fetch_array($req);
$img = $data['image'];
echo $img;

Posté : 25 mars 2005, 17:04
par fxgordon
oki ... je vois ... mais ca ne marche que pour une image ...
comment peut on faire pour avoir directement sur la page :
les (x) images affichés dans un tablo suivant les (x) url d'images présentent dans ma base ...??? j'espère que je suis assez clair ..?? :oops:

Posté : 27 mars 2005, 19:01
par fxgordon
oups ... je up un petit coup car même apres moulte script tutoriels que k'ai fais et testés ... et qui marchent je n'arrive pas ou plutôt je n'ai po les bonnes expressions pour afficher mes x image depuis ma bdd, si kkun pouvait m'aiguiller ... pas me macher le truk juste me dire komment et surtout pkoi .... a + merci d'avance !!!

Posté : 28 mars 2005, 11:25
par iclo
Il faut tu utilise le tag html <img> pour afficher ton image, en mettant ta variable $img comme valeur pour l'atrribut "src"

Posté : 29 mars 2005, 17:10
par fxgordon
oki ... c'est exactement ce que je fais .. mais ca m'affiche uniquement la première image de ma base !!! voici mon code :
<table width="100%" border="0">
  <tr> 
    <td width="100px" align="left" valign="top" class ="text_txt"> <p>
        <?php
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('test1',$db);
$sql = "SELECT * FROM produit";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
  	$menu = '<B>'.$data['titre'].'</B><BR>';
	$img = $data['image'];
	$info = $data['info'];
	echo ($menu);

mysql_close();
?>
      </p>
      </td>
    <td width="10%" align="left" valign="top" class ="text_txt"><img src="
	<?php echo $img; ?>">
</td>
et j'aimerai kil ma'ffiche tous les éléments de mon menu > 'titre' et toutes mes 'image' ... arfff !!! je galère !!!

Posté : 29 mars 2005, 20:38
par iclo
Il faut que tu passes par une répétitive( while). Regrdes attentivement les tutoriaux...

Posté : 29 mars 2005, 22:13
par fxgordon
yep ... ca j'avais compris mais je n'arrivais pas à le mettre en forme ...
pour le pseudo "menu" j'y arrive (youpi) par contre pour les images, je reussi bien à afficher leur url :
<img src="
	<?php
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('test1',$db);
$sql = "SELECT image FROM produit";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
    echo $data['image'].'<BR>';
		}
mysql_close();
?>">
image/imageA.jpg
image/imageB.jpg
etc ...
mais dès ke je mets la balise html <img src=> il n'y a pas d'image ... et ce ki parait logique car l'adresse devient "image/imageA.jpg.image/imageB.jpg...etc" alors que je voudrais avoir mes images une par une !!! et la je suis perdu ... :roll: