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

Discussione: logica MySQL

  1. #1

    logica MySQL

    We raga, ho un problema con il codice, devo estrarre praticamente un menu:
    --Home

    --Chi Siamo
    -Story
    -Promozioni
    -Negozi

    --Altra Sezione
    -pagina
    -pagina
    -pagina

    praticamente ho sviluppato una tabella così:

    tabella:
    | id_menusezione | nome_menu_sezione | menu_sottosezione | link |

    e questo codice :

    Codice PHP:
    <?php require_once('Connections/feeling.php'); ?>
    <?php
    mysql_select_db
    ($database_feeling$feeling);
    $query_sezioni "SELECT * FROM menu_sezioni WHERE menu_sottosezione is null";
    $sezioni mysql_query($query_sezioni$feeling) or die(mysql_error());
    $row_sezioni mysql_fetch_assoc($sezioni);
    //$totalRows_sezioni = mysql_num_rows($sezioni);

    $query_sottosezioni "SELECT * FROM menu_sezioni WHERE nome_menu_sezione = '{$row_sezioni['nome_menu_sezione']}'";
    $sottosezioni mysql_query($query_sottosezioni$feeling) or die(mysql_error());
    $row_sottosezioni mysql_fetch_assoc($sottosezioni);
    //$totalRows_sottosezioni = mysql_num_rows($sottosezioni);
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>menu</title>
    </head>
    <body>
    <?php do { ?>
    <table width="100%"  border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><a href="<?php echo $row_sezioni['link']; ?>">--<?php echo $row_sezioni['nome_menu_sezione']; ?></td>
          </tr>
          <tr>
            <td>
            <table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <?php do { ?>
              <tr>
                <td class="paddin5">[url="<?php echo $row_sottosezioni['link']; ?>"]-<?php echo $row_sottosezioni['menu_sottosezione']; ?>[/url]</td>
              </tr>
              <?php } while ($row_sottosezioni mysql_fetch_assoc($sottosezioni)); ?>
            </table>
            </td>
          </tr>
          <tr>
            <td class="puntini-in-td"></td>
          </tr>
        </table></td>
      </tr>
    </table>
    <?php } while ($row_sezioni mysql_fetch_assoc($sezioni)); ?>
    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
           <tr>
           <td>tabella a se</td>
           </tr>
    </table>
    </body>
    </html>
    <?php
    mysql_free_result
    ($sezioni);
    mysql_free_result($sottosezioni);
    ?>
    praticamente non mi legge la sottosezione... non mi filtra la seconda query con il risultato della prima
    Codice PHP:
    $query_sottosezioni "SELECT * FROM menu_sezioni WHERE nome_menu_sezione = '{$row_sezioni['nome_menu_sezione']}'"
    cosa mi potete dire???


    a tra l'altro se passo io il valore funzia cioe:
    Codice PHP:
    $query_sottosezioni "SELECT * FROM menu_sezioni WHERE nome_menu_sezione = 'Chi Siamo'"
    passo il "Chi Siamo" e logicamente mi estrae tutti le menu_sottosezione

  2. #2

  3. #3
    [supersaibal]Originariamente inviato da cli
    up [/supersaibal]
    verifica che sia veramente NULL e non empty il campo menu_sottosezione nel where della prima query.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    come faccio a verificare la differenza tra null e empty

    comunque se passo io il valore come ho scritto funzia.... hai visto la parte finale del mio post???

    Grazie del tempo perso

  5. #5
    Ah ho capito cosa intendevi per NULL e empty piero.mac

    no no sono sicuro è NULL è di default nel db così se aggiungo sezioni in futuro viene NULL direttamente e invece se aggiungo sottosezioni c'è il valore sottosezione e non è NULL

  6. #6
    [supersaibal]Originariamente inviato da cli
    Ah ho capito cosa intendevi per NULL e empty piero.mac

    no no sono sicuro è NULL è di default nel db così se aggiungo sezioni in futuro viene NULL direttamente e invece se aggiungo sottosezioni c'è il valore sottosezione e non è NULL [/supersaibal]
    Io purtroppo capito niente...
    codice:
    SELECT * FROM menu_sezioni 
    WHERE menu_sottosezione is null
    OR menu_sottosezione = '' ";
    Se provi cosi' estrae il dato?

    Vedo anche che hai provato a contare le righe estratte.... quante ne conta?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    funziona anche con :

    Codice PHP:
    SELECT FROM menu_sezioni 
    WHERE menu_sottosezione is null
    OR menu_sottosezione '' "; 
    se uso:

    Codice PHP:
    SELECT FROM menu_sezioni 
    WHERE  menu_sottosezione 
    '' "; 
    non funzia.

    se uso :

    Codice PHP:
    SELECT FROM menu_sezioni 
    WHERE menu_sottosezione is null 
    "; 
    funzia

    conta perfettamente i miei record 7 in tutto


    però mostra ancora solo le sezioni e non le sottosezioni...

  8. #8
    [supersaibal]Originariamente inviato da cli
    conta perfettamente i miei record 7 in tutto [/supersaibal]
    Quindi potrebbe darsi che non sia corretto il modo con cui estrai i dati.

    prova a fare un ciclo stampando l'array...
    codice:
    $query_sezioni = "SELECT * FROM menu_sezioni
                      WHERE menu_sottosezione is null";
    
    $sezioni = mysql_query($query_sezioni, $feeling) or die(mysql_error()); 
    
    echo "<pre>";
    while ( $row_sezioni = mysql_fetch_assoc($sezioni))  {
    
    print_r($row_sezioni) ;
    
    }
    e vedi se ti quaglia tutto ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    [supersaibal]Originariamente inviato da cli
    però mostra ancora solo le sezioni e non le sottosezioni... [/supersaibal]
    Scusa ma se le sottosezioni sono NULL che vuoi vedere.... ???

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    No NO non tutte sono NULL e che non so come mostrarti il .SQL

    se gli passo io menu_sottosezione='Chi Siamo' vedo le sottosezioni

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 © 2024 vBulletin Solutions, Inc. All rights reserved.