Query 'nidificate' mysql

di il
17 risposte

17 Risposte - Pagina 2

  • Re: Query 'nidificate' mysql

    In pratica hai un accendino e strofini i legnetti per ottenere il fuoco? Beh, se proprio ti vuoi male….

    il fuoco comunque sono riuscito ad accenderlo lo stesso anche stavolta :-)… 

    Dopo che mi avete sbarrato la strada sul WHILE, mi avete dato lo stimolo di cercare altrove e alla fine ho trovato un'altra stradina, sicuramente poco battuta anche quella, ma che mi ha portato lo stesso a dove volevo arrivare. Dentro il ciclo while ho impostato le variabili array di tutti i nati oggi, e poi le ho ‘lavorate’ fuori dalla prima query, in un ciclo FOR

    <?php
    $oggi = date('d-m');
    $anno = date('Y');
    $conta=0;                      //imposto contatore delle persone nate oggi
    $mysqli = mysqli_connect($host, $user, $password, $database);
    if ($mysqli===false){
    die("errore di connessione: " .$mysqli->connect_error);}
    else{
    $query1 = "SELECT * FROM generale WHERE DATE_FORMAT(nascita, '%d-%m') = '".$oggi."'";   //query cerca il mestiere dei nati oggi
    if($result = $mysqli->query($query1)){ 
    if($result->num_rows>0){
    while($row = $result->fetch_array()){
    $conta=$conta+1;                  // contapersone
    $codice=$row ['codice'];          //codice del nato oggi
    $codicearray[$conta]=$codice;     //imposto variabile array buona per dopo
    $mestiere=$row['mestiere'];       //mestiere del nato oggi
    $nome=$row['nome'];               //nome del nato oggi
    echo " ... ".$nome." fa il ".$mestiere.") <br> ";
    }  } 
    else{echo"oggi non è nato nessuno";}
    } 
    else{echo"problemi di connessione";}
    for ($i = 1; $i <= $conta; $i++) {  // apre il ciclo FOR per il numero dei nati oggi
    $codx='ant5674893';                 //codice univoco della persona coi cui confrontare tutti i nati oggi
    $cody=$codicearray[$i];
    $query2  = “SELECT * from generale WHERE codice=$cody;   // qui partono le query di confronto che avevo già pronte…
    if($result = $mysqli->query($query2)){
    if($result->num_rows>0){
    while($row = $result->fetch_array()){
    echo “..............”;
    }  } 
    else{}
    } 
    else{echo"problemi di connessione";}
    .................
    .................
    $mysqli->close();
    ?>
  • Re: Query 'nidificate' mysql

    Io non ti ho detto che non è possibile, ma ti stai complicando la vita.

    Un codice php che richiama una query è più snello e più rapido di quello che fai tu.

    Poi, per carità, tutte le strade portano a roma.

    Speriamo che non devi aggiungere qualcosa in futuro…

    Con la query cambi solo la query lasciando inalterato php… ;)

  • Re: Query 'nidificate' mysql

    Potrei non aver compreso bene le esigenze dell'autore, ma una cosa del genere, non è l'esatta definizione di join? Se non sbaglio la tua è una left outer join, ma mi riservo il beneficio del dubbio.

Devi accedere o registrarti per scrivere nel forum
17 risposte