Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Prelevare più record dalla stessa colonna

    Salve a tutti ragazzi, sono nuovo di questo forum ma spesso vi ho seguito e trovato soluzioni e spunti, premetto che con php sono ai primi passi, sto costruendo un sito in cui ho necessità di far ruotare 12 articoli random in altrettante pagine, prese da una sola colonna e che non siano duplicati, l'ideale sarebbe che cambiassero ogni dodici ore. Il database è molto semplice, in quanto vi sono due colonne, una denominata "id" e una "articoli", che si ingrandisce con l'inserimento di nuovi articoli, la struttura l'ho fatta con gli include. Vi posto il codice:

    $query = "SELECT articolo FROM sapevi_che ORDER BY RAND () LIMIT 12";
    //Esecuzione della query
    $result = mysql_query( $query );
    if(!$result){
    die ("Non ho potuto interrogare il database:
    ". mysql_error());
    }
    while ($result_row = mysql_fetch_array($result, MYSQL_NUM)){
    echo $result_row[0];
    echo $result_row[1];
    echo $result_row[2];
    echo $result_row[3];
    echo $result_row[4];
    echo $result_row[5];
    echo $result_row[6];
    echo $result_row[7];
    echo $result_row[8];
    echo $result_row[9];
    echo $result_row[10];
    echo $result_row[11];
    Vorrei andare per gradi cercando di capire anche, ora i risultati me li da tutti su echo $result_row[0], invece vorrei 12 risultati diversi richiamabili per ogni array, e dopo vorrei passare questi risultati tra le pagine. Se nella query imposto LIMIT 1 ovviamente mi da un solo risultato e quindi non penso che sia la soluzione praticabile.

    Grazie a tutti anticipatamente

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    beh quel while così utilizzato non ha senso, il while ti serve per scorrere l'array, e mysql_fetch_array ad ogni cicli sposta il puntatore del risultato della query al record successivo.

    Codice PHP:
    while ($result_row mysql_fetch_array($resultMYSQL_NUM))
    {
    echo 
    $result_row['articolo'];


  3. #3
    Ho provato con il tuo codice Ranma2, però non capisco come prenderli i risultati, perché così facendo mi da la pagina bianca. Potresti essere più chiaro perché non capisco come dovrei implementare while, o meglio probabilmente tu sei chiaro ma sono io che non afferro.

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da west08
    Ho provato con il tuo codice Ranma2, però non capisco come prenderli i risultati, perché così facendo mi da la pagina bianca. Potresti essere più chiaro perché non capisco come dovrei implementare while, o meglio probabilmente tu sei chiaro ma sono io che non afferro.

    Grazie
    Nel while leva il MYSQL_NUM se usi una chiave associativa
    Codice PHP:
    mysql_fetch_array($result

    Oppure così
    Codice PHP:
    mysql_fetch_array($result,MYSQL_ASSOC
    E dovrebbe stamparti il record se richiamato dalla chiave dell'array

  5. #5
    Così mi funziona perfettamente, sia con MYSQL_NUM che con MYSQL_ASSOC, il problema è che devo trovare la soluzione per inviare i 12 risultati random ad altrettanti variabili, penso del tipo:
    echo $result_row[0];
    echo $result_row[1];
    echo $result_row[2];
    echo $result_row[3];
    echo $result_row[4];
    echo $result_row[5];
    echo $result_row[6];
    echo $result_row[7];
    echo $result_row[8];
    echo $result_row[9];
    echo $result_row[10];
    echo $result_row[11];
    altrimenti così com'è ora ho tutta la query nel primo array, io invece li vorrei prelevabili singolarmente, perché da quello che ho letto in giro e dai libri che sto studiando, in tutti gli esempi ad ogni array vi si associa una colonna, se ad esempio avessi 12 colonne ad ognuna vi si associa un array ed io potrei visualizzare i risultati singolarmente, il problema è che i dati li devo inserire man mano in una sola colonna, e quindi sono è sempre la stessa, come potrei fare? Forse sbaglio nella query a mettere LIMIT 12, dovrei prelevare un record alla volta e poi vedere come non duplicarli? Non so se ho detto qualche c.....a, ma mi trovo in un vicolo cieco

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.