Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2006, 01h20   #1
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
Par défaut [Conception] Tableau avec données SGBD

bonjour,
je souhaiterai afficher une image et un texte descriptif de cette image sur une même ligne.
Pour cela j'ai pensé que faire un tableau serait le plus approprié, seulement je ne sais comment coder de façon correcte.
Je vous fourni une partie de mon code pour exlication:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
echo '<table>';
  for ($i=0; $i <$num_results; $i++)
  {
     $row = $result->fetch_assoc();
     //echo '<p><strong>'.($i+1).'. Prix: ';
	 //echo '</strong><br />Type: ';
	 //echo'<td>';
	 echo'<tr>';
     echo '<img src="'.stripslashes($row['IMAGEBIEN']).'" alt="" />';
	 echo '<strong>Prix: ';
     echo htmlspecialchars(stripslashes($row['PRIX' ].' EUROS'));
	 //echo ' EUROS';
     echo '</strong><br />Type: ';
     echo stripslashes($row['NOMTYPE']);
	 echo '</strong><br />Superficie: ';
     echo stripslashes($row['SUPERFICIE']);
     echo '<br />Ville: ';
     echo stripslashes($row['NOMVILLE']);
     echo '<br />Référence: ';
     echo stripslashes($row['REFERENCE']);
	 echo'</tr>';
	 //echo '</td>';
     //echo '</p>';
  }
   echo '</table>';
evidemment ce code ne fonctionne pas pour ce que je souhaite faire, je suis en train de tester ou placer les balises mais surtout j'aimerai savoir si je suis sûr la bonne piste
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2006, 03h03   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Déjà un tableau est toujours composé de tr et td sinon tu verras rien. DOnc n'oublies pas ca :

Code :
<table><tr><td></td></tr></table>
Sinon, vu que l'on a pas tes classes, tu récupères le résultats de la requete ou juste la ligne. Ton for est-il vraiment indispensable seul la définition de ta classe nous le dira mais je verrai un code comme ceci et sans classe :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
echo '<table>';
while($row = mysql_fetch_array($query))
{
    	 echo '<tr><td>';
    echo '<img src="'.stripslashes($row['IMAGEBIEN']).'" alt="" />'; 
    echo '</td><td>';
    echo '<strong>Prix: ';
    echo htmlspecialchars(stripslashes($row['PRIX' ].' EUROS'));
    echo '</strong><br />Type: ';
    echo stripslashes($row['NOMTYPE']);
    echo '</strong><br />Superficie: ';
    echo stripslashes($row['SUPERFICIE']);
    echo '<br />Ville: ';
    echo stripslashes($row['NOMVILLE']);
    echo '<br />Référence: ';
    echo stripslashes($row['REFERENCE']);
    echo'</td></tr>';
}
echo '</table>';
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2006, 12h41   #3
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
merci, je viens donc de mettre en place mon tableau mais cela ne résoud malheureusement pas mon problème.
voici le lien:
http://www.understoodio.info/
il suffit de lancer la requête depuis le moteur de recherche, selectionnes juste ventes
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2006, 12h54   #4
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
On peut pas tester :
Citation:
Moteur De Recherche

Error: Could not connect to database. Please try again later.
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2006, 14h13   #5
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
ça doit être mieux la
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2006, 14h21   #6
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
C'est bien ce que je disais tu fais pas comme je te l'ai dit. Selon code html en sorti tu as un seul td et tu utilises des br pour les retours à la ligne.

Donc maintenant tu as deux solutions :
  • faire comme je te l'ai montré plus haut mettre deux td
  • garder un seul td mais utiliser du css et faire deux div l'un contenant la photo en float left et de même pour le texte
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$row = $result->fetch_assoc();
echo'<tr><td>';
echo '<img src="'.stripslashes($row['IMAGEBIEN']).'" alt="" /></td><td>';
echo '<strong>Prix: ';
echo htmlspecialchars(stripslashes($row['PRIX' ].' EUROS'));
echo '</strong><br />Type: ';
echo stripslashes($row['NOMTYPE']);
echo '</strong><br />Superficie: ';
echo stripslashes($row['SUPERFICIE']);
echo '<br />Ville: ';
echo stripslashes($row['NOMVILLE']);
echo '<br />Référence: ';
echo stripslashes($row['REFERENCE']);
echo'</td></tr>';
Ce n'est qu'un problème de td
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2006, 12h40   #7
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
ok c'est cool merci ça fonctionne
par contre je vois que tu as mis deux balises ouvertes de td mais qu'une de fermé, certes ça marche, mais cela veut donc dire que les balises fermantes ne sont pas obligatoires?
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2006, 15h43   #8
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Je crois que tu as mal lu, il y a le compte en balise
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2006, 16h43   #9
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
OUF, je suis bigleux!
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 12h02   #10
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
bon plutôt que de recreer un post, je fais ma demande ici vu que ç'est dans la continuité
j'aimerai en fait rajouter une image de fond à mon tableau, pour l'instant j'ai l'image du bien et son texte d'associé sur la même ligne.
j'ai penser à créer un élément block dans mon fichier css, donc d'inserer une balise div avant d'afficher l'image et le texte.
je n'ai pas réussi à coder correctement, je me suis donc tourné vers l'utilisation de balises td rajouté à mon tableau comme ci dessous:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
echo '<tr><td>';
	 echo '<img src="img2/souscadrebien.png"></td><td>';
     echo '<img src="'.stripslashes($row['IMAGEBIEN']).'" alt="" /></td><td>';
	 echo '<strong>Prix: ';
     echo htmlspecialchars(stripslashes($row['PRIX' ].' EUROS'));
	 //echo ' EUROS';
     echo '</strong><br />Type: ';
     echo stripslashes($row['NOMTYPE']);
	 echo '</strong><br />Superficie: ';
     echo stripslashes($row['SUPERFICIE']);
     echo '<br />Ville: ';
     echo stripslashes($row['NOMVILLE']);
     echo '<br />Référence: ';
     echo stripslashes($row['REFERENCE']);
	 echo '</td></tr>';
donc pour l'instant j'ai l'image qui s'affiche mais la superposition de mon image et de mon texte ne marche pas.il manque forcément untruc
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 14h39   #11
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Utilises l'attribut background-image de table ce sera plus simple. Ou tu crées un div avec un backgroud-image et tu mets le tableau dedans.

Il faudrait aussi penser au background-repeat si c'est une image qui peut être répétée
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 11h47   #12
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
yep j'ai donc utilisé l'attribut dans ma balise table, c'est ok
http://www.understoodio.info/
maintenant j'ai un soucis, cela concerne l'ecart entre mes deux cellules, en effet elles ne se collent pas et ensuite les cellules ont une bordure, ce que je ne veux pas, j'aimerai les rendre transparente, j'ai utilisé pour cela l'attribut hidden, de ce façon:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
	 echo '<tr style="background-image:url(img2/souscadrebien2.png); background-repeat:no-repeat">';
     echo '<td style="border-style:hidden"><img src="'.stripslashes($row['IMAGEBIEN']).'" alt="" /></td><td>';
	 echo '<strong>Prix: ';
     echo htmlspecialchars(stripslashes($row['PRIX' ].' EUROS'));
     echo '</strong><br />Type: ';
     echo stripslashes($row['NOMTYPE']);
	 echo '</strong><br />Superficie: ';
     echo stripslashes($row['SUPERFICIE']);
     echo '<br />Ville: ';
     echo stripslashes($row['NOMVILLE']);
     echo '<br />Référence: ';
     echo stripslashes($row['REFERENCE']);
	 echo '</td></tr>';
Aussi j'ai essayé la technique de la balise div, j'ai créé un element block "souscadrebien" dans mon fichier css, l'attribut background-image: url(img2/souscadrebien.png);
mais cela ne fonctionnait pas, j'ai certainement mal placé mon élément, j'aurai aimé savoir comment coder de façon correcte un element div dans du php , ç'est juste pour en savoir un peu plus...
merci
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 15h06   #13
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Là pour que ton tableau n'ait aucun espace entre les différentes cellules ou/et lignes il faut utiliser le cellpadding et cellspacing en les mettant à 0
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 13h18   #14
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
après de multiples modifs, voici mon code(presque definitif):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
echo '<table width="569" height="108" cellpadding="0" cellspacing="0">';
  for ($i=0; $i <$num_results; $i++)
  {
     $row = $result->fetch_assoc();
	 echo '<tr style="background-image:url(img2/souscadrebien2.png); background-repeat:no-repeat" height="105">';
     echo '<td width="135"><img src="'.stripslashes($row['IMAGEBIEN']).'" alt="" /></td><td>';
	 echo '<strong>Prix: ';
     echo htmlspecialchars(stripslashes($row['PRIX' ].' EUROS'));
     echo '</strong><br />Type: ';
     echo stripslashes($row['NOMTYPE']);
	 echo '</strong><br />Superficie: ';
     echo stripslashes($row['SUPERFICIE']);
     echo '<br />Ville: ';
     echo stripslashes($row['NOMVILLE']);
     echo '<br />Référence: ';
     echo stripslashes($row['REFERENCE']);
	 echo '</td></tr>';
  }
   echo '</table>';
j'ai donc résolu mon problème d'espacement et de bordure blanche, par contre étant donné que j'ai donné un cellpadding et un cellspacing à 0, je me retrouve maintenant confontré à un problème au niveua de l'affichage de l'image, qui se retrouve collé à mon tableau, normal.....
je me suis donc dis que je devai jouer sur la proprieté cellspacing ou cellpadding de la balise td qui concerne l'image, mais rien n'y fait, keud, nothing...
donc comment pourrai je agir sur l'espavement de l'image par rapport au cadre de dessous(img2/souscadrebien2.png)?
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 17h25   #15
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Le cellpadding et etc sont spécifique au table et non aux cellules, donc normal que ça fonctionne pas. Si tu veux faire un espacement tu peux utiliser le padding-left qui aura pour but de mettre ton texte avec un décalage en partant de la gauche .

[HS] CSS pas PHP [/HS]
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h41.


 
 
 
 
Partenaires

Hébergement Web