Visualizzazione dei risultati da 1 a 6 su 6

Discussione: query join

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154

    query join

    Ciao a tutti,

    ho il seguente problema data la seguente query

    $query1 = "SELECT * FROM membrixpubbl join pubblicazioni WHERE id_m= '".$_GET["id_m"]."' order by anno DESC";

    $result1 = mysql_query($query1, $conn);
    while($info1 =mysql_fetch_row($result1))
    {
    echo "".$info1[1]."
    ";

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154
    Scusate mi è partito l'invia risposta.....

    allora dicevo la seguente query

    $query1 = "SELECT * FROM membrixpubbl join pubblicazioni WHERE id_m= '".$_GET["id_m"]."' order by anno DESC";

    $result1 = mysql_query($query1, $conn);
    while($info1 =mysql_fetch_row($result1))
    {
    echo "".$info1[1]."
    ";
    etc.etc.

    cosi come è scritta mi ripete la stampa (orinata) per ogni righa...
    come posso scrivere l'echo per leggermi gli elementi della tabella ottenuta una sola volta?? :master:

    spero di essere stato chiaro

    Saluti
    gefrio

  3. #3
    visualizzi il primo N di righe che vuoi, supponiamo 20
    fai il link per visualizzare le successive in cui gli passi via get un parametro che gli dice di visualizzarti la prossime N+20 righe...

    supponendo che il parametro per puntare alle successive sia $_GET['start'], sarà $_GET['start']=20

    così ti basterà fare la query:
    SELECT * FROM tabella LIMIT $_GET['start'],20
    e ti estrpola le prossime 20

    Per le precedenti sarà una cosa similare solo che quello che gli passerai via get sarà N-20...

    Per le prime 20 righe:
    farai un controllo per vedere se è stato passato qualcosa in get, altrimenti verrà impostato di default $_GET['start']=0 che nella query diventerà:
    SELECT * FROM tabella LIMIT 0,20 visualizzandoti le prime N

    Ti faccio un esempio, facendo visualizzare dei numeri, però il concetto è quello, sempre che ti vada bene :
    Codice PHP:
    <?php 
    $numToShow 
    2
    $arr = array(1,2,3,4,5,6,7,8,9,10); 
    $start = (isset($_GET['start'])) ? (int)$_GET['start'] : 0

    /*Una volta che recuperi il valore di $_GET['start'] 
    fai la query: 
    "SELECT * FROM tabella LIMIT ".$start.",".$numToShow.";"*/ 

    for($i=$start,$j=0$j $numToShow$j++,$i++) 

      echo 
    "Numero : ".$arr[$i]."
    "




    if(
    $start-$numToShow >= 0

    ?> 
    [url="pag.php?start=<?=($start-$numToShow);?>"]precedente[/url] 
    <?php 



    if((
    $start+$numToShow) <= count($arr)) 

    $next $start+$numToShow
    ?> 
    <a href="pag.php?start=<?=($start+$numToShow);?>" /> 
    successiva</a> 
    <?php 

    ?>
    nel tuo caso al posto della $arr dovrai mettere un'altra variabile, io ci metterei:
    $nr = mysql_affected_rows();
    In $nr mette il numero di righe totali

  4. #4
    p.s.

    comunque per questa soluzione bisogna ringraziare Ken84

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154
    grazie nickang,

    problema lamia tabella come si chiamerà?

    è la join di due tabelle!!! :master:

    attendo ulteriori info

    pongo la domanda in altra maniera:

    data la mia query:

    $query1 = "SELECT * FROM membrixpubbl join pubblicazioni WHERE id_m= '".$_GET["id_m"]."' order by anno DESC";

    quale è la sintassi per visualizzzare il mio risultato?

    Saluti
    gefrio

  6. #6
    Ti ricordo che LIMIT non è il nome di una tabella ma il parametro che stabilisce quanti record si vogliono visualizzare.

    Codice PHP:
    $query1 "SELECT * " .
             
    "FROM membrixpubbl " .
             
    "LEFT JOIN pubblicazioni ON id_m = NOME_CAMPO_UNIONE_TABELLA_pubblicazioni " .
             
    "WHERE id_m = '" $_GET["id_m"] . "' " .
             
    "ORDER BY anno DESC LIMIT ".$start.",".$numToShow."";
    $result mysql_query($query1)
      or die (
    mysql_error()); 

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.