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

Eléphanteau du PHP | 22 Messages

25 mars 2005, 02:40

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 !!!
Modifié en dernier par fxgordon le 09 avr. 2005, 01:12, modifié 1 fois.

Mammouth du PHP | 19672 Messages

25 mars 2005, 10:15

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 250 Messages

25 mars 2005, 10:54

bonjour

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

Eléphanteau du PHP | 22 Messages

25 mars 2005, 14:22

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:

Eléphant du PHP | 334 Messages

25 mars 2005, 14:38

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;

Eléphanteau du PHP | 22 Messages

25 mars 2005, 17:04

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:

Eléphanteau du PHP | 22 Messages

27 mars 2005, 19:01

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 !!!

ViPHP
ViPHP | 2144 Messages

28 mars 2005, 11:25

Il faut tu utilise le tag html <img> pour afficher ton image, en mettant ta variable $img comme valeur pour l'atrribut "src"

Eléphanteau du PHP | 22 Messages

29 mars 2005, 17:10

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 !!!

ViPHP
ViPHP | 2144 Messages

29 mars 2005, 20:38

Il faut que tu passes par une répétitive( while). Regrdes attentivement les tutoriaux...

Eléphanteau du PHP | 22 Messages

29 mars 2005, 22:13

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: