Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    5

    Estrarre da Cartella una determinata 'via'

    Cari amici, desidero estrarre dalla cartella 'Clienti' una determinata 'via'. Tutto sembra funzionare, ma quando visualizzo i records della 'via' , dopo la paginazione di 10 records per pagina, cliccando su NEXT mi appare il seguente errore, mentre la paginazione funziona regolarmente: ....................... Notice: Undefined index: via in C:\xampp\htdocs\3\pannello3.php on line 40 ....................... La riga incriminata è la seguente: ......................... $via = $_POST['via']; .......................... se tolgo questa riga mi appare chiaramente il seguente errore ............................ Notice: Undefined variable: via in C:\xampp\htdocs\3\pannello3.php on line 49 ................................ Questa la riga con --> Undefined variable: via $sql = "SELECT * FROM clienti WHERE Via LIKE '%$via%' ORDER BY `via` ASC LIMIT $offset, $no_of_records_per_page"; Potetei cortesemente fornirmi una soluzione? Grazie. Cordiali saluti Lewis ----- Allego lo script Rubrica
    testo centrato in HTML

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Evidentemente sulla prima pagina ci arrivi da un form che invia i dati tramite POST, mentre il link della paginazione i dati li invia in GET, quindi $_POST è vuoto, da cui ne segue che $_POST['qualsiasicosa'] non è definito.

    Per Una risposta più precisa però è necessario anche vedere il codice e se lo posti, mettilo tra i tag [php] e [/ php] (quest'ultimo senza lo spazio tra / e php, l'ho messo altrimenti non si sarebbe visto il tag).
    Prima di inviare il messaggio visualizzane l'anteprima e se serve sistema l'indentazione del codice.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    5

    Estrarre da Cartella una determinata 'via' con paginazione

    Grazie per la risposta. Questo il codice:

    Codice PHP:

    <html>
    <head>
    <title>Rubrica</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    </head>
    <body>
    <?php

     
    if (isset($_GET['pageno'])) {
    $pageno $_GET['pageno'];
    } else {
    $pageno 1;
    }

    $no_of_records_per_page 10;
    $offset = ($pageno-1) * $no_of_records_per_page;

    $conn=mysqli_connect("localhost","root","","utenti");
    // Check connection
    if (mysqli_connect_errno()){
    echo 
    "Failed to connect to MySQL: " mysqli_connect_error();
    die();
    }

     
    $via $_POST['via'];

    echo 
    "<center> ";
     
    $total_pages_sql "SELECT COUNT(*) FROM clienti WHERE Via LIKE '%$via%'";
    echo 
    $total_pages_sql;
    $result mysqli_query($conn,$total_pages_sql);
    $total_rows mysqli_fetch_array($result)[0];


    echo 
    "<br />";
    echo 
    "<br />";
    echo 
    "Totale records: " $total_rows;
    echo 
    "<br />";
    echo 
    "<br />";

    $total_pages ceil($total_rows $no_of_records_per_page);
    {
    $sql "SELECT * FROM clienti WHERE Via LIKE '%$via%' ORDER BY `via` ASC LIMIT $offset$no_of_records_per_page";


    $res_data mysqli_query($conn,$sql);
    while(
    $row mysqli_fetch_array($res_data)){
    {
    echo 
    "<center> ";
    echo 
    $row['nome'] . "<br> " $row['settore'] . "<br> " $row['via']. "<br>" $row['telefono']. "<br> ";
    echo 
    "<br />";
    }
    }
    mysqli_close($conn);

    ?>

    <p align="center">testo centrato in HTML</p>

    <ul class="pagination">
    <li class="<?php if($pageno <= 1){ echo 'disabled'; } ?>">
    <a href="<?php if($pageno <= 1){ echo '#'; } else { echo "?pageno=".($pageno 1); } ?>">Prev</a>
    </li>
    <li class="<?php if($pageno >= $total_pages){ echo 'disabled'; } ?>">
    <a href="<?php if($pageno >= $total_pages){ echo '#'; } else { echo "?pageno=".($pageno 1); } ?>">Next</a>
    </li>
    </ul>
    <br><br>
    </body>
    </html>
    <?php ?>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Continuo a supporre quanto segue: una prima volta arrivi su questa pagina avendo fatto il submit di un form che invia tamite post il contenuto di un campo di nome "via", ma quando premi su uno dei link generati dalla paginazione richiami la stessa pagina e il dato $_POST['via'] non esiste più perché non lo stai più inviando.

    Devi cambiare la logica del sistema, per esempio:
    - invii il form come fai adesso
    - sullo script che riceve i dati verifichi con if(isset $_POST['via'])) se $_POST['via'] è settata
    --- se è settata assegni il valore ad una variabile di sessione, tipo $_SESSION['via'] invece che ad una variabile semplice come fai ora
    --- se non è settata verifichi se esiste la variabile di sessione $_SESSION['via']
    ------ se esiste usi il valore di tale variabile nella SELECT
    ------ se non esiste c'è un problema, mostra un messaggio d'errore che indichi la mancanza della via

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    5
    Ciao Alhazred, grazie per i tuoi consigli.
    Mi trovo a disagio nel metterli in pratica non avendo conoscenza di questo linguaggio.
    Potresti cortesemente inserire nel mio codice la tua soluzione?
    Ti ringrazio. Saluti
    Lewis

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.