Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Select dinamica da sql

  1. #1

    Select dinamica da sql

    Ciao,
    ho un problema di questo tipo:
    devo riempire una select da sql ma solo se il dato ricercato è nullo


    Codice PHP:
    <?php 

    // Query  
    $sql "select * from tabella WHERE data LIKE '".$data."'"

    // Eseguo la query. 
    $result mysql_query($sql$conn); 
    $cc=0;
    // QUESTA SOLUZIONE NON DA' NESSUN RISULTATO 
    while !($campo mysql_fetch_array($result)) { 
    $cc++;
    ?> 
    <option value="<?php echo $cc?>"><?php echo $cc?></option> 
    <?php 

    ?>
    forse sbaglio sintassi del While...

    Codice PHP:
    while !($campo mysql_fetch_array($result)) 
    potete aiutarmi??

    Grazie
    MEMENTO AUDERE SEMPER
    Maxxl

    www.maxxl.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    prima conti i risultati della query poi esegui il ciclo se ve ne sono:

    Codice PHP:
    // Eseguo la query.
    $result = mysql_query($sql, $conn); 

    $tot = mysql_num_rows($result);

    if($tot>0){
       $cc=0;
       while($campo = mysql_fetch_array($result)) {
       $cc++;
    ?>
    <option value="<?php echo $cc?>"><?php echo $cc?></option>
    <?php
       

    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    solo che a quel punto il while a che ti serve? se devi solo ciclare da 0 alla fine dei record fai un for da 0 a $tot e fai prima...a quel punto potresti anche fare una SELECT COUNT....

  4. #4
    ma il ciclo lo devo eseguire se NON ce ne sono......
    MEMENTO AUDERE SEMPER
    Maxxl

    www.maxxl.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    scusa ma come fai a eseguire un ciclo di un set di record se il set di record non esiste???

  6. #6
    mi spiego meglio....
    la query è inserita in un ciclo for

    quello che vorrei è che se il dato che ricevo è nullo allora mi scrive la variabile $cc nella <option>

    forse dovrei fare la condizione su un singolo campo e non sul recordset.....
    e magari con una if....
    MEMENTO AUDERE SEMPER
    Maxxl

    www.maxxl.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    Originariamente inviato da maxxl
    mi spiego meglio....
    la query è inserita in un ciclo for

    quello che vorrei è che se il dato che ricevo è nullo allora mi scrive la variabile $cc nella <option>

    forse dovrei fare la condizione su un singolo campo e non sul recordset.....
    e magari con una if....
    allora...se hai un ciclo for comunque $cc deve iniziare fuori dal ciclo;
    poi posta il codice perchè proprio non ho capito che devi fare...

  8. #8
    Codice PHP:
    <?php 
    $cc
    =0
    for (
    $tempo=1$tempo<=$tempomax$tempo++)

    // Query   
    $sql "select * from tabella WHERE data LIKE '".$data."' AND dato1 LIKE ".$tempo

    // Eseguo la query. 
    $result mysql_query($sql$conn); 

    // QUESTA SOLUZIONE NON DA' NESSUN RISULTATO 
    while !($campo mysql_fetch_array($result)) { 
    $cc++; 
    ?> 
    <option value="<?php echo $cc?>"><?php echo $cc?></option> 
    <?php 


    ?>
    MEMENTO AUDERE SEMPER
    Maxxl

    www.maxxl.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    ora va meglio....
    a questo punto ad ogni ciclo esegui una query e vuoi popolare la select solo quando la query NON da risultati, dico bene?
    prova così:

    Codice PHP:
    <?php
    $cc
    =0;
    for (
    $tempo=1$tempo<=$tempomax$tempo++){

       
    // Query   
       
    $sql "select * from tabella WHERE data LIKE '".$data."' AND dato1 LIKE ".$tempo;

       
    // Eseguo la query.
       
    $result mysql_query($sql$conn);
       
    $tot mysql_num_rows($result); // conto i risultati

       
    if($tot===0){ // entro solo se non ci sono record e scrivo la option
          
    $cc++;
          print 
    "<option value=\"" $cc "\">" $cc "</option>\n";
       }
    }
    ?>

  10. #10
    Grandeeeeeeeeeeeeee......
    grazie mille.... sei un mito.....
    adoro questo forum
    MEMENTO AUDERE SEMPER
    Maxxl

    www.maxxl.it

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.