Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50

    richiamare dati da un db MySql tramite un form per creare un report su un valore di un campo

    grosso modo come da titolo, avrei questa necessita', ho un db MySql che contiene una tabella nella quale ci sono dei campi di cui vorrei richiamare i dati tramite un campo select con un form html+php.
    Esempio
    tabella con campi localita' , via , numero civico
    il campo localita' ha solo tre citta' es. Roma, Milano e Genoca.

    ecco io vorrei creare un form che mi restituisca tutti i record della localita' Roma (ovviamente presenti nel campo localita') utilizzando una form con una select sul campo localita'

    Non so' se sono stato sufficentemente chiaro.....
    ad ogni modo grazie a tutti !

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Queste sono le conoscenze, ed i passi da fare, di cui hai bisogno per realizzare questa cosa:
    1) realizzare un form in html da mostrare sulla pagina
    2) invio dei dati del form verso uno script PHP
    3) tramite PHP recupero dati inviati dal form
    4) connessione ed esecuzione query da PHP verso un db
    5) sintassi SQL per scrivere query adeguate alle necessità
    6) ciclare sui dati recuperati dal db e mostrarli sulla pagina

    Qualcuno di questi passi ti da problemi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50
    Ciao Alhazred,
    scusami per il ritardo nella risposta...
    allora si' il mio problema sta' nei punti 4, 5 e 6

    sempre riallacciandomi all'esempio iniziale questo e' quello che avevo fatto io:

    1) form realizzato:
    <div class="col-md-12">
    <div class="col-md-6">
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    <div class="form-group">
    <label for="localita">Localita':</label>
    <select class="form-control" name="localita" value="<?php echo $data['localita']; ?>">
    <option disabled>Scegli l'opzione</option>
    <option <?php echo ($data['localita'] == 'Roma' ? 'selected': ''); ?>>Roma</option>
    <option <?php echo ($data['localita'] == 'Milano' ? 'selected': ''); ?>>Milano</option>
    <option <?php echo ($data['localita'] == 'Bologna' ? 'selected': ''); ?>>Bologna</option>
    </select>
    </div>
    <div class="form-group">
    <label for="datainserimento">Da Data Inserimento:</label>
    <input type="date" class="form-control" value="<?php echo $data['datarichiesta']; ?>">
    </div>
    <div class="form-group">
    <label for="datarichiesta">A Data Inserimento:</label>
    <input type="date" class="form-control" value="<?php echo $data['datarichiesta']; ?>">
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
    </form>
    </div>
    <div class="col-md-6">
    <?php
    $sql = "SELECT COUNT(citta) FROM tabellacitta";


    if($result = mysqli_query($conn, $sql)){
    if(mysqli_num_rows($result) > 0){
    echo "<table class=\"table table-striped\">";
    echo "<tr>";
    echo "<th>id</th>";
    echo "<th>Citta</th>";
    echo "<th>Data di Richiesta</th>";
    echo "<th>Data di Scadenza</th>";

    echo "</tr>";
    while($row = mysqli_fetch_array($result)){
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['citta'] . "</td>";
    echo "<td>" . $row['datarichiesta'] . "</td>";
    echo "<td>" . $row['datarichiesta'] . "</td>";
    echo "</tr>";
    }
    echo "</table>";
    // Close result set
    mysqli_free_result($result);
    } else{
    echo "No records matching your query were found.";
    }
    } else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn);
    }
    ?>
    </div>

    </div>

    4) connessione ed esecuzione query da PHP tramite relatoiva inclusione script<?php require"code/config.php"; ?>
    <?php
    $serverl='localhost';
    $username='dbusername';
    $password='T~Dtoo2@lC^j';
    $database='dbpassword';
    $conn=mysqli_connect($server1,$username,$password, $database);
    if(!$conn){
    die('Could not Connect My Sql:' .mysql_error());
    }
    else{

    }
    ?>

    5) questa e' sintassi della Query sql : $sql = "SELECT COUNT(citta) FROM tabellacitta";
    6) e per la ciclatura dei dati vedi docide sopra, nella tabella citta' ci sono 7 record inseriti in un lasso temporale compreso fra le date del 1/12/2019 e 31/12/2019 ma niente da fare , richiamando la pagina non vedo nulla.....

  4. #4
    1. il codice per cortesia mettilo tra i tag < c o d e > ... < / c o d e > altrimenti non si capisce niente
    2. io vedo solo la COUNT delle città, che ti restituirà "7", mica i dati delle città...

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50
    si' scusa!
    si' avebdo usato COUNT volevo riicavare il numero delle righe in cui appariva una certa citta' pero' il problema e' che non vedo neanche il numero 7....

  6. #6
    non lo vedi perché tenti di stampare dati che non ci sono... perché non fai una SELECT elenco_campi_che_ti_servono FROM tabellacitta ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50
    ciao Optim e grazie x la risposta, ok sono passato alla SELECT * , quello che non capisco e' perche' la form non riesca a pilotare i risultati, mi spiego meglio , nella fom ho 3 citta' MILANO ROMA e BOLOGNA se seleziono MILANO vorrei che i risultati visualizzati fossero riferiti alla sezione fatta nella form, mentre qui mi appare tutto.....?

  8. #8
    beh, ti mancherà specificare la selezione nella WHERE... queste cose la form non le fa da sola, sei tu che la devi programmare

    PS. SELECT * è una bad practice, specifica solo i nomi dei campi che ti interessano

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    50
    ok diciamo che avrei modifica to la mia query in questo modo:
    <code>
    $sql = "SELECT * FROM tabella citta WHERE citta = '$citta'";
    </code>

    Il problema e' che utulizzando poi una form per ottenere i dati desiderati che ha al suo interno anche una select basata sui nomi delle citta' questa non mi restituisce l'elenco dei record riferiti alla citta' selezionata...

    Cosa sbaglio...? grazie a tutti e buon anno !

  10. #10
    Vedo che ti sei incaponito con la SELECT * evidentemente ti piace

    per la parte PHP lascio la parola a chi ne sa più di me

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.