0
votes

Comment MySQL a quitté la variable de jointure et écho à la boucle de Foreach

Amis J'essaie de rejoindre MySQL Rejoignez la requête sur PHP et j'ai besoin d'une aide peu. Je ne peux pas interroger comme objet PHP, si je requête objet, la requête était vide: $ données = $ catégories-> fetchall (PDO :: fetch_obj);

Comment puis-je interroger comme objet PHP? P>

<?php
$categories = $vt->prepare("SELECT t1.baslik AS lev1, t2.baslik as lev2, t3.baslik as lev3, t4.baslik as lev4
FROM menuler AS t1
LEFT JOIN menuler AS t2 ON t2.katID = t1.id
LEFT JOIN menuler AS t3 ON t3.katID = t2.id
LEFT JOIN menuler AS t4 ON t4.katID = t3.id WHERE t1.katID=?");

foreach ($listeSonuc as $listele) {
    # code...
 }

$categories->execute(array($listele->katID));
$data=$categories->fetchAll(PDO::FETCH_ASSOC);
$categoriesResult = array_map(function($item){
    return (object)array_combine(['lev1', 'lev2', 'lev3', 'lev4'], $item);
},$data);

// code begins here
$newData = [];
foreach ($categoriesResult as $row) {
    $tree = get_object_vars($row);
    do {
        $title = array_pop($tree);
    } while($title === null);
    $catTree = implode(' > ', $tree);
    $newData[] = (object)[
        'title' => $title,
        'tree'  => $catTree
    ];
}?>
<div class="table">
        <div>
            <div class="th">Başlık</div>
            <div class="th kucukteldegizle">Bölüm</div>
            <div class="th kucukteldegizle">Özellik</div>
            <div class="th kucukteldegizle">Yayınla?</div>
            <div class="th text-right">Ä°ÅŸlem</div>              
        </div>

<?php foreach ($newData as $row) {?>
        <div class="cizgili">
            <div class='bosluk'><?php echo $row->title?></div>
            <div class="kucukteldegizle"><?php echo $row->tree?></div>
            <div class="kucukteldegizle">???</div>
            <div class="kucukteldegizle">???</div>
            <div>???</div>
        </div>
<?php }?>
</div>


2 commentaires

Je suppose que les pauses de la ligne dans la requête SQL créent le problème. Mettez la requête SQL en une seule ligne, cela fonctionnera.


Toutes vos images montrent des tables que vous pouvez simplement poster comme code formaté.


5 Réponses :


1
votes

fetch_obj Le drapeau renvoie chaque ligne sous forme d'objet PHP. Donc, votre code devrait être comme celui-ci. XXX

Ceci devrait afficher votre résultat.


7 commentaires

J'ai édité une faute de frappe dans ma réponse. Si cela ne résolvez pas votre problème, pouvez-vous me dire que vous obtenez des erreurs avec ceci ou quelle était la sortie.


Désolé, toujours pas corrects résultats, veuillez consulter ma première question pour "Comment puis-je obtenir ce résultat de la section PHP:" Section, j'ai publié un résultat correct.


Avez-vous besoin de résultats dans la table HTML ou en tant que texte simple avec du contenu aligné?


J'ai besoin de résultats dans HTML div le formaté comme HTML comme celui-ci: