Maison  >  Questions et réponses  >  le corps du texte

Pourquoi seuls les résultats de la première requête de base de données sont-ils affichés et les fonctionnalités de la deuxième requête sont-elles ignorées ?

Le résultat suivant affiche les résultats de la première requête, mais pas de la deuxième requête. Lorsque j'interroge sans utiliser de fonction, cela fonctionne bien.

function builtFooter($catactive, $catlink)
{
    global $conn;
    $sql = "SELECT catid, catname_de AS name, catlink as link, extern, extlink FROM categories WHERE catactive=? AND catlink!=? ORDER BY catsort";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ss", $catactive, $catlink);
    $stmt->execute();
    $result = $stmt->get_result();
    while ($cat = $result->fetch_assoc()) {
        $resArr[] = $cat;
        echo '

' . $cat['name'] . '

'; $cities = "SELECT COUNT(a.ad_id) AS ANZ,a.region, b.city, b.citylink FROM ads a, neueorte b WHERE a.zeigen=? AND a.gesperrt=? AND FIND_IN_SET(?, a.portale) AND a.catid=? AND b.po_id=a.region GROUP BY a.region ORDER BY ANZ DESC LIMIT 0,50"; $stmt = $conn->prepare($cities); $zeigen = 'ja'; $gesperrt = 'no'; $category = $cat['catid']; $stmt->bind_param("ssss", $zeigen, $gesperrt, $portalnumber, $category); $stmt->execute(); $result = $stmt->get_result(); while ($city = $result->fetch_assoc()) { $resArr[] = $city; echo ' ' . $city['city'] . '
'; } } } builtFooter('yes', 'markt');
P粉696891871P粉696891871409 Il y a quelques jours442

répondre à tous(1)je répondrai

  • P粉193307465

    P粉1933074652023-09-07 13:54:06

    Ces requêtes fonctionnent toutes correctement et j'obtiens les résultats souhaités :

    $catactive = 'yes';
    $catlink = 'markt';
    $sql = "SELECT catid, catname_de AS name, catlink as link, extern, extlink FROM categories WHERE catactive=? AND catlink!=? ORDER BY catsort";
            $stmt = $conn->prepare($sql); 
            $stmt->bind_param("ss", $catactive, $catlink);
            $stmt->execute();
            $result = $stmt->get_result();
            while ($cat = $result->fetch_assoc()) {    
                $resArr[] = $cat;
               echo '<h3><a href="'.$cat['link'].'" title="'.$cat['name'].' bei $portalname">'.$cat['name'].'</a></h3>';
            
            $cities = "SELECT COUNT(a.ad_id) AS ANZ,a.region, b.city, b.citylink FROM ads a, neueorte b WHERE a.zeigen=? AND a.gesperrt=? AND FIND_IN_SET(?, a.portale) AND a.catid=? AND b.po_id=a.region GROUP BY a.region ORDER BY ANZ DESC LIMIT 0,50";
            $stmt = $conn->prepare($cities); 
            $zeigen = 'ja';
            $gesperrt = 'no';
            $category = $cat['catid'];
            $stmt->bind_param("ssss", $zeigen, $gesperrt, $portalnumber, $category);
            $stmt->execute();
            $r = $stmt->get_result();
            while ($city = $r->fetch_assoc()) {    
                $resArr[] = $city;
                echo' '.$city['city'].' <br />';
            }
           }

    Mais lorsque je construis une fonction, je n'arrive pas à obtenir le résultat de la deuxième requête :

    function builtFooter($catactive,$catlink){
            global $conn;
                $sql = "SELECT catid, catname_de AS name, catlink as link, extern, extlink FROM categories WHERE catactive=? AND catlink!=? ORDER BY catsort";
                $stmt = $conn->prepare($sql); 
                $stmt->bind_param("ss", $catactive, $catlink);
                $stmt->execute();
                $result = $stmt->get_result();
                while ($cat = $result->fetch_assoc()) {    
                    $resArr[] = $cat;
                   echo '<h3><a href="/sexkontakte/'.$cat['link'].'" title="'.$cat['name'].' bei $portalname">'.$cat['name'].'</a></h3>';
                
                $cities = "SELECT COUNT(a.ad_id) AS ANZ,a.region, b.city, b.citylink FROM ads a, neueorte b WHERE a.zeigen=? AND a.gesperrt=? AND FIND_IN_SET(?, a.portale) AND a.catid=? AND b.po_id=a.region GROUP BY a.region ORDER BY ANZ DESC LIMIT 0,50";
                $stmt = $conn->prepare($cities); 
                $zeigen = 'ja';
                $gesperrt = 'no';
                $category = $cat['catid'];
                $stmt->bind_param("ssss", $zeigen, $gesperrt, $portalnumber, $category);
                $stmt->execute();
                $r = $stmt->get_result();
                while ($city = $r->fetch_assoc()) {    
                    $resArr[] = $city;
                    echo' '.$city['city'].' <br />';
        }
        }
           }
           builtFooter('yes','markt');

    J'ai les catégories de tableaux, les annonces et les neueorte. Je souhaite créer des liens de pied de page, je souhaite donc avoir les catégories sous forme de balises h3, puis les regrouper par ville où se trouve la ville où l'annonce est placée. J'espère que je fais les choses correctement, je suis nouveau sur cette page.

    répondre
    0
  • Annulerrépondre