Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Query dentro un ciclo while

    Ciao ragazzi, prima di tutto mi sembra giusto presentarmi.
    Sono un novellino, e questo si capisce
    Sto provando una soluzione per una paginazione che sfrutta una ricerca effettuata con LIKE. Tutto bene finchè nel ciclo while, che utilizzo per popolare gli echo, non inserisco una query per selezionare altri dati.

    Mi spiego.....

    ho due tabelle che contengono in una i dati degli utenti e in un altra le professioni.
    Effettuo una ricerca su una specifica professione (es. muratore) e tutto bene, mi impagina tutti i muratori.

    Il problema è che poi, mentre fa il ciclo while (per prendermi tutti i muratori) devo andarmi a prendere (per ogni muratore) il nome e il cognome etc... nell'altra tabella.

    avevo fatto una cosa del genere
    Codice PHP:

     
    //seleziono le righe dove qualcuno, tra le professioni, ha indicato quella che sto cercando
            
    $sel_profeB="SELECT * FROM attitudini WHERE  (
        att1='
    $term'
        OR
        att2='
    $term'
        OR
        att3='
    $term'
        OR
        att4='
    $term'
         ) 
        ORDER by RAND() LIMIT 
    $inizio$per_pagina";

    //utilizzo la classe che ho creato per la connessione per la query
            
    $prep_profeB=$db->prepare($sel_profeB);
            
    $query_profeB=$db->query($prep_profeB);

    //mi riprendo i dati con il while        
            
    while($risulProf=$db->fetch($query_profeB)){

            
    $id_ute=$risulProf['id_utente'];
            
    $att1=$risulProf['att1'];
            
    $liv1=$risulProf['liv1'];        
            
    $att2=$risulProf['att2'];
            
    $liv2=$risulProf['liv2'];    
            
    $att3=$risulProf['att3'];
            
    $liv3=$risulProf['liv3'];    
            
    $att4=$risulProf['att4'];
            
    $liv4=$risulProf['liv4'];    

    //fin quì tutto bene, se mando l'echo mi impagina le professioni
    //ora però devo andare a prendere gli altri dati ma il ciclo while si blocca

    //  prendo gli id del ciclo while e per ogni id faccio una select     
    $utente_sel="SELECT * FROM utenti WHERE id='$id_ute'";
    $prep_ute=$db->prepare($utente_sel);
    $query_ute=$db->query($prep_ute);
    $info_uteFet=$db->fetch($query_ute);

    $nome_ute=$info_uteFet['nome'];



                       echo 
    '

                <div class="pag2">'
    .$nome_ute.' </div>
               
                '
    ;
            

            } 
    un casino vero?
    Naturalmente il risultato me lo da solo sul primo id e poi si blocca

    Suggerimenti?

    Grazie siete fortissimi

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2012
    residenza
    Lima, Perù
    Messaggi
    212
    Mi sembra che stai impostando male il db... cerca modello ER, normalizzazione...

    poi cerca anche sql+join... cosi puoi ottenere i dati che vuoi in una sola query...
    Jamie Ynonan - Web Developer / Desarrollador Web - HTML5 - CSS3 - Javascript/jQuery - PHP/CodeIgniter/Laravel - SQL/MySQL - Wordpress
    Telelavoro / Teleworking - jamiea31[at]gmail.com - Lima - Perù - GMT -5

  3. #3
    Quote Originariamente inviata da minos88 Visualizza il messaggio
    Mi sembra che stai impostando male il db... cerca modello ER, normalizzazione...

    poi cerca anche sql+join... cosi puoi ottenere i dati che vuoi in una sola query...

    Cavolo hai ragione........ che stupido che sono!!!
    Perdeva l'id della connessione.
    Riformulando la connessione nella select dentro il while funziona!!
    Sei mitico Minos!

    Grande.... grazie mille!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.