Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problema con WHERE in php

    Salve io ho questo script per sfogliare delle skede:

    nella pagina page2.php:

    <?php
    include ("config.inc.php");

    if($current_page == 1) { // se siamo nella prima pagina
    $precedente = "";
    } else { // altrimenti
    $previous_page = ($current_page - 1);
    $precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\"><IMG SRC=\"prec.bmp\" BORDER=\"0\"></a>";
    }

    if($current_page == $tot_pages) { // se siamo nell'ultima pagina
    $successiva = "";
    } else { // altrimenti
    $next_page = ($current_page + 1);
    $successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\"><IMG SRC=\"prox.bmp\" BORDER=\"0\"></a>";
    }
    $paginazione = "$precedente $successiva";

    ?>

    Nella skeda ho questo:


    // esecuzione prima query
    $count = mysql_query("SELECT COUNT(id) FROM nc_users ORDER BY Id DESC");
    $res_count = mysql_fetch_row($count);

    // numero totale di records
    $tot_records = $res_count[0];

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page = 1;

    // numero totale di pagine
    $tot_pages = ceil($tot_records / $per_page);

    // pagina corrente
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page - 1) * $per_page;

    $l = 1;
    include("page2.php");

    echo "<div align=\"center\">$precedente<IMG SRC=\"precprox.bmp\" BORDER=\"0\">$successiva</div>
    ";

    echo "<div align=\"center\">";


    $query_limit = mysql_query("SELECT * FROM nc_users ORDER BY Id DESC LIMIT $primo, $per_page");
    while($row = mysql_fetch_array($query_limit)) {



    ora, funziona se sono in una qualsiasi skeda mi va alla prossima esistente o alla precedente esistente, il problema è ke queste skede possono essere viste cliccando sul titolo della skeda da una lista, e per pescare la skeda giusta dovrebbe fare $query = "SELECT * FROM nc_users WHERE id='$id'";

    Giustamente, ma non so dove mettere where id='$id' mi da sempre errore, qualcuno sa aiutarmi? thx sin da ora

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se fai una count non serve ordinare i campi !!!

    $count = mysql_query("SELECT COUNT(id) FROM nc_users");

    Poi la parte + interessante non c'è. E' quella che comincia da...

    $query_limit = mysql_query("SELECT * FROM nc_users ORDER BY Id DESC LIMIT $primo, $per_page");
    while($row = mysql_fetch_array($query_limit)) {

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    56
    Non ho tempo per leggere tutto il listato, comunque per darti una risposta al volo, a occhio mi sembra che devi levare gli apici singoli : "...WHERE id=$id"; Gli apici si usano solo per campi
    stringa, data e ora, non per campi numerici.

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da vali75
    Non ho tempo per leggere tutto il listato, comunque per darti una risposta al volo, a occhio mi sembra che devi levare gli apici singoli : "...WHERE id=$id"; Gli apici si usano solo per campi
    stringa, data e ora, non per campi numerici.
    Puoi tranquillamente lasciare gli apici se si tratta di una variabile numerica !!!!

  5. #5
    infatti È una variabile numerica, xo il prob È ke non melo guarda nemmeno il where sia son apici ke sensa, non so se devo ancora strusarci dietro con un'altra stringa o meno. xo mi serve ke lo scrollshow delle skede inizi da dove id=$id

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ma trasmetti l'id alla pagina ?

    Dovresti provare con $_GET['id'] o con $_POST['id'].

    Per il primo devi mettere l'id in una URL http://www.miosito.com/pagina.php?id=200012

    Per il secondo devi avere un form con method="post" nella pagina richiamante.




    OFF-TOPIC : Ho lavorato per diversi mesi a Bioggio.

  7. #7
    il codice più corretto per una query:

    se viene trasmesso attraverso il metodo GET

    codice:
    mysql_query('SELECT * FROM nc_users WHERE id='.$_GET['id'].'');

    se viene trasmesso attraverso il metodo POST

    codice:
    mysql_query('SELECT * FROM nc_users WHERE id='.$_POST['id'].'');
    è preferibile sempre usare gli apici piuttosto che le virgolette perchè i primi velocizzano il parsing.

  8. #8
    stassera le provo e poi vi dico come reagisce, vi stamperò il link dell'esempio cosi capiremo meglio, x intanto thx mille

  9. #9
    ah ok ho capito, non ci siamo, quello lo so ma il fatto È ke tutta la stringa è

    $query_limit = mysql_query("SELECT * FROM nc_users ORDER BY Id DESC LIMIT $primo, $per_page");
    while($row = mysql_fetch_array($query_limit)) {

    dove lo metto il where? non come si fa, quello lo so, ma dove, xke ovunque lo metto mi da errore non so..

  10. #10
    $query_limit = mysql_query("SELECT * FROM nc_users WHERE condizione ORDER BY Id DESC LIMIT $primo,$per_page");
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

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.