Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    165

    recordset risultati ricerca

    ho una pagina con un form per inserire i parametri di ricerca (2 menù a tendina) ora io scrivo la mia pagina di php in modo tale da passare alla pagina successiva dei risultati i 2 valori ottenuti dai menù a tendina per cui il mio recordset del risultato ricerca sarà impostato in modo tale che abbia come 2 condizioni $_GET['xxx'].
    ora il problema se lascio uno dei due menu a tendina vuoto il recordset estrae per entrambe le condizioni dandomi nessun risultato... in parole povere come posso dire che se il parametro che passo dal menù a tendina è vuoto debba considerare qualsiasi .... mi sono inteso

  2. #2
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92
    Immagino che tu abbia una situazione del genere:
    Html:
    codice:
    <form action="controllo.php" method="get">
      <select name="param1">
          <option value=""></option> <-- il valore vuoto per il primo select --!>
          <option value="A">A</option>
          <option value="B">B</option> 
      </select>
      <select name="param2">
          <option value=""></option> <-- il valore vuoto per il secondo select --!>
          <option value="1">1</option>
          <option value="2">2</option>
      </select>
      <input type="submit" value="Conferma scelte" />
    </form>
    controllo.php
    codice:
    <?php
      $select1 = $_GET['param1'];
      $select2 = $_GET['param2'];
      
      if(is_null($select1)) $select1 = '*';
      if(is_null($select2)) $select2 = '*';
    
      $sql = "SELECT [campi-che-ti-servono] where [colonna1] = '$select1' AND [colonna2] = '$select2'";
     
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    165
    si esatto

    quindi usando questo '*' si intende seleziona tutti se è NULLO?

  4. #4
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92
    con queste righe di codice:
    codice:
    $select1 = $_GET['param1'];
    $select2 = $_GET['param2'];
      
    if(is_null($select1)) $select1 = '*';
    if(is_null($select2)) $select2 = '*';
    Se nelle 2 select segni qualche valore, allora $select1 e/o $select2 ha il valore scelto
    Se nelle 2 select non segni nessun valore, allora is_null è true e è/sono uguale/i ad *.
    * è un carattere "Jolly" in MYSQL, significa qualunque valore.
    Ad esempio una query del tipo:
    codice:
    $sql = "SELECT nome, cognome FROM utenti WHERE eta = '*'";
    ti selezionerà i nomi ed i cognomi di tutti gli utenti presenti nella tabella utenti.
    Diverso è invece
    codice:
    $sql = "SELECT nome, cognome FROM utenti WHERE eta > 18";
    Che ti mostrerà nome e cognome dei soli utenti maggiorenni

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    165
    ... in verità non mi funziona.... ma cosa dovrebbe passare come indirizzo del browser ad indicare "tutto" perchè a me scrive

    risultati_cerca.php?ticket=&sede=2

    e ticket è il campo a cui non metto nessun valore nella pagina del form precedente.



    $campoticket = $_GET['ticket'];
    $camposede = $_GET['sede'];

    if(is_null($campoticket)) $campoticket = '*';
    if(is_null($camposede)) $camposede = '*';


    mysql_select_db($database_labaslto5, $labaslto5);
    $query_tutto = sprintf("SELECT noemalife.ID, noemalife.ticket, noemalife.id_sede, sedi.id_sedi, sedi.sedi FROM noemalife, sedi WHERE sedi.id_sedi=noemalife.id_sede AND noemalife.ticket='$campoticket' AND noemalife.id_sede='$camposede'");
    $tutto = mysql_query($query_tutto, $labaslto5) or die(mysql_error());
    $row_tutto = mysql_fetch_assoc($tutto);
    $totalRows_tutto = mysql_num_rows($tutto);

    grazie!

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.