Afficher images via SQL

boudddda Messages postés 14 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 27 août 2008 - 19 juil. 2008 à 22:18
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 22 juil. 2008 à 22:40
Bonjour,

J'affiche actuellement le nom de catégorie via SQL et j'aimerai afficher l'image lier a ma catégorie en miniature via SQL.

Mon code actuel :

<?GLOBAL $PHP_SELF,$SESSION,$categorie_options,$frm,$id;
    if (!isset($id)) { $id = 0; };
    $frm["parent"] = array($id);
    construit_menu($categorie_options, $frm["parent"]);
?>   
<table border=0 cellpadding=0 cellspacing=0 width=100%>
        <?=$categorie_options?>

Merci

Boudddda

11 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
19 juil. 2008 à 22:47
Hello,

Si je teste le code chez moi, il ne marchera pas ...

Justes quelques petites corrections à propos de ton code :
<li>Utilise <?php echo non <? (<? étant réservé pour le XML).</li><li>Global ????? berk ! à proscrire ! ^_^ (maintenant il y a les passanges par références, les class, ...)
</li><li>$PHP_SELF ??? Ca existe encore ??? A mon avis, maintenant c'est $_SERVER['PHP_SELF']</li><li>$categorie_options $frm et $id, d'ou viennent-ils ? _GET, _POST, _SESSION, _ENV ??</li><li><?= '...'; ?> n'est pas à utiliser, mais plutôt <?phpecho '...'; ?></li>;)

Ensuite, avec ton code, on ne peut pas vraiment cerner ton problème ...

C'est à propos de construit_menu() ?? Si c'est le cas, pourrais-tu nous donner le code ?

<hr />Si ma reponse te convient, merci de l'accepter ! 
0
boudddda Messages postés 14 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 27 août 2008
19 juil. 2008 à 23:04
Le site a quelque annee et je cherche a l'ameliorer au niveau graphique pour un ami.

Je suis debutant, je te remercie de ton aide.

Ci dessous le code que tu m'as demander, si c'est celui ci !!!

function construit_arbo_cat(&$sortie, &$preselectionne, $parent=0, $indent="") {
/* Parcours récurcivement l'arbre des catégories, commençant d'un parent
 * il descend dans l'arbre et affiche les options pour une liste de boîtes de sélection
 * Les élément preselectionnés sont marqué comme tel */
    global $SESSION;    $qid mysql_query("SELECT id, nom, parent_id FROM categories WHERE parent_id $parent");
    if ($qid) {
        if (mysql_num_rows($qid) > 0) {
            while ($cat =  mysql_fetch_array($qid)) {
                $selectionne = in_array($cat[id], $preselectionne) ? "selected" : "";
                $sortie .= "<option value="" . $cat[id] . "" $selectionne>$indent" . $cat[nom];
                if ($cat[id] != $parent) {
                    construit_arbo_cat($sortie, $preselectionne, $cat[id], $indent."&nbsp;&nbsp;");
                }
            }
        }
    }
}

function construit_menu(&$sortie, &$selectionne, $parent=0, $indent="") {
    global $SESSION, $wwwroot;    $qid mysql_query("SELECT id, parent_id, nom FROM categories WHERE parent_id $parent");
    if ($qid) {
        if (mysql_num_rows($qid) > 0) {
            while ($cat =  mysql_fetch_array($qid)) {
                $sortie .= "
                <tr><td>
                $indent". $cat[nom] ."</td></tr>";/*" . $cat[description] ."";*/
                if ($cat[id] != $parent) {
                    construit_menu($sortie, $selectionne, $cat[id], $indent."&nbsp;&nbsp;&nbsp;&nbsp;");
                }

            }
        }
    }
}

Boudddda
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
21 juil. 2008 à 09:26
Hello, dsl pour le retard ^^

Si tu veux afficher une image c'est à ce niveau :

$sortie .= "
                <tr><td>
               
$indent". $cat[nom] ."</td></tr>";
Ajoute un

en ajoutant dans ta table, un champ 'url_de_image'
<hr />Si ma reponse te convient, merci de l'accepter ! 
0
boudddda Messages postés 14 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 27 août 2008
21 juil. 2008 à 18:50
J'ai essayer mais ca ne fonctionne pas

Ou je dois mettre : ,je travail avec ZEN et il me fais une erreure partout ou j'essaye de l'integrer

Et les images existe deja dans ma base SQL : categories : image

Merci encore

Boudddda
0

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

Posez votre question
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
21 juil. 2008 à 21:42
Re ^^

$sortie .= "

                <tr><td>

   
            $indent ". $cat[nom] ."</td></tr>";

et le $cat['XXXX'] c'est le nom du champ dans ta base de donnée ... ici, je préseume $cat['image']

Oh, et j'avais oublié !
$qid mysql_query("SELECT id, parent_id, nom, image FROM categories WHERE parent_id $parent");

<hr />Si ma reponse te convient, merci de l'accepter ! 
0
boudddda Messages postés 14 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 27 août 2008
21 juil. 2008 à 23:59
Salut et encore merci,

Les choses avances, en modifiant :
$qid mysql_query("SELECT id, parent_id, nom, image FROM categories WHERE parent_id $parent");

et

$cat['image']

Le nom de l'image de la categories s'affiche et je peut cliquer dessus, mais je n'arrive pas a integrer : ca me fait une erreur de synthaxe !!!

Boudddda
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
22 juil. 2008 à 00:46
Oh !
Vraiment désolé, c'est moi ^^

$sortie .= "
                <tr><td>
                $indent "" . $cat['image'] . "" />". $cat[nom] ."</td></tr>";

C'était une simple erreur de "

^^
<hr />Si ma reponse te convient, merci de l'accepter ! 
0
boudddda Messages postés 14 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 27 août 2008
22 juil. 2008 à 10:39
Merci JOJO ,

Ca avance...

la liste des images s'affiche bien mais les images ne s'affiche pas (carré avec une croix rouge), j'ai essayer d'inserer une charte graphique mais rien a faire

function construit_menu(&$sortie, &$selectionne, $parent=0, $indent="") {
    global $SESSION, $wwwroot;    $qid mysql_query("SELECT id, parent_id, nom, image FROM categories WHERE parent_id $parent");
    if ($qid) {
        if (mysql_num_rows($qid) > 0) {
            while ($cat =  mysql_fetch_array($qid)) {
                $sortie .= "
                <tr><td>
                $indent ". $cat[image] ."</td></tr>"; Comment je peut determiner une charte graphique pour l'affichage des images ?
                if ($cat[id] != $parent) {
                    construit_menu($sortie, $selectionne, $cat[id], $indent."&nbsp;&nbsp;&nbsp;&nbsp;");
                }

            }
        }
    }
}

Boudddda
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
22 juil. 2008 à 11:26
Re,

En fait si l'image ne s'affiche pas, c'est que l'adresse de ton image ne fonctionne pas.
Dans ta table categories, le champ image contient bien l'url de ton image ?

Fais [Afifcher Code SOurce de la Page], regarde le code généré par ta fonction et regarde ce qu'il y a dans le src="..." de tes images. Ca peut être une mauvaise adresse ou un champ image null ^^

<hr />Si ma reponse te convient, merci de l'accepter ! 
0
boudddda Messages postés 14 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 27 août 2008
22 juil. 2008 à 22:29
Salut Jojo,

Voici le code source avec les 2 premieres occurence avec une images et les 2 suivantes sans images,
Mes image ce touve dans mon dossier "images", ou je dois mettre le bon chemin pour les afficher ?

<tr><td>
<img src="150508_191426_PEEL.JPG" /><a class=petit href=/boutiquepro/achat/index.php?id=58>150508_191426.JPG</a></td></tr>
<tr><td>
<img src="210708_235007_PEEL.jpg" /><a class=petit href=/boutiquepro/achat/index.php?id=68>210708_235007.jpg</a></td></tr>
<tr><td>
<img src="" /><a class=petit href=/boutiquepro/achat/index.php?id=22></a></td></tr>


<tr><td>
<img src="" /><a class=petit href=/boutiquepro/achat/index.php?id=74></a></td></tr>

merci encore

Boudddda

Pour rappel :

function construit_menu(&$sortie, &$selectionne, $parent=0, $indent="") {
    global $SESSION, $wwwroot;    $qid mysql_query("SELECT id, parent_id, nom, image FROM categories WHERE parent_id $parent");
    if ($qid) {
        if (mysql_num_rows($qid) > 0) {
            while ($cat =  mysql_fetch_array($qid)) {
                $sortie .= "
                <tr><td>
                $indent ". $cat[image] ."</td></tr>";/*" . $cat[description] ."";*/
                if ($cat[id] != $parent) {
                    construit_menu($sortie, $selectionne, $cat[id], $indent."&nbsp;&nbsp;&nbsp;&nbsp;");
                }

            }
        }
    }
}
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
22 juil. 2008 à 22:40
Re,

quand tu regarde ton code tu as ça :
<img src="150508_191426_PEEL.JPG" /><a class=petit href=/boutiquepro/achat/index.php?id=58>150508_191426.JPG</a></td></tr>
<tr><td>
<img src="210708_235007_PEEL.jpg" /><a class=petit href=/boutiquepro/achat/index.php?id=68>210708_235007.jpg</a></td></tr>
<tr><td>
<img src="" /><a class=petit href=/boutiquepro/achat/index.php?id=22></a></td></tr>

<tr><td>
<img src="" /><a class=petit href=/boutiquepro/achat/index.php?id=74></a></td></tr>

Tu vois en rouge, l'adresse URI de ton image ... Puisque tu me dis que tes images se trouvent dans le dossier /images/, il te suffit d'ajouter au niveau du code source le dossier de façon à avoir :
NOM_DE_IMAGE
" />

Après tu vois (en vert) qu'il n'y a pas d'image pour les deux derniers liens. C'est pour celà que tu n'as (et n'auras) pas d'image (a moins d'en ajouté une dans la base de donnée)
<hr />Si ma reponse te convient, merci de l'accepter ! 
0
Rejoignez-nous