Visualizzazione risultati 1 fino 10 di 10

Discussione: Creare un forum in php

  1. #1
    Guest

    Predefinito Creare un forum in php

    Ragazzi sto creando un forum in php...
    ma ce un problema...

    come posso fare che in base al ultima discussione messa mi visualizza quella...
    questo e il codice...
    Codice PHP:
    <?php
    #Includo il file di configurazione
    require("config.php");

    #Recupero le sezioni esistenti
    $query = mysql_query("SELECT * FROM forum_sezioni");
    #Recupero alcune informazioni esistenti
    $query2 = mysql_query("SELECT * FROM forum_discussione");

    #verifichiamo che siano presenti le sezioni
    if(mysql_num_rows($query) > 0){
    #Stampo la lista di tutti le sezioni
    while($risultato = mysql_fetch_array($query)){

    $risultato2 = mysql_fetch_array($query2);

    #mostro il numero di discussioni relativi ad ogni sezione
    $conta = "SELECT COUNT(id_sezione) as conta From forum_discussione WHERE id_sezione='".$risultato['id_sezione']."' ";
    $conto = mysql_query($conta);
    $tot = mysql_fetch_array($conto);
    ?>
    <tr class="tr">
    <td width="2%"><img src="favicon.png" alt=""></td>
    <td><a href="forum.php?sez=<?php echo $risultato['id_sezione']; ?>"><?php echo $risultato['titolo_sezione']; ?></a></td>
    <td><?php echo $tot['conta']; ?></td>
    <td><?php echo $risultato2['titolo_discussione']; ?></td>
    <td><?php echo $risultato2['autore_discussione']; ?></td>
    </tr>
    il problema e qua
    Codice PHP:
    <td><?php echo $risultato2['titolo_discussione']; ?></td>
    <td><?php echo $risultato2['autore_discussione']; ?></td>

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Sostituisci:
    Codice PHP:
    $query2 = mysql_query("SELECT * FROM forum_discussione");
    Con

    Codice PHP:
    $query2 = mysql_query("SELECT * FROM forum_discussione ORDER BY id DESC LIMIT 1");
    Ammesso che nella tabella forum_discussione esista il campo id.

    Saluti!

  3. #3
    Guest

    Predefinito

    lo sto provando in locale....
    funziona ma lo fa vedere sempre nella prima sezione...
    nelle altre 2 no....

  4. #4
    Guest

    Predefinito

    Ragazzi il pulsante edit non ce...
    allora i devo fare che le discussione vendono visualizzate in base al ultimo messaggio inserito o dal creatore che sarebbe il primo messaggio o dagli utenti o dal creatore del messaggio che sarebbero gli altri in base alla data....

    per prendere la discussione uso
    Codice PHP:
    mysql_query("SELECT * FROM forum_discussioni WHERE id_sezione='".$_GET['sez']."'");
    Codice PHP:
    mysql_query("SELECT * FROM forum_risposte WHERE id_sezione='".$_GET['sez']."'");
    in poche parole la discussione che come l'ultima risposta ha come orario ultimo inserito venga visualizzato come primo, poi il penultimo e cosi via....

    non so come spiegarvelo...

    P.s.
    Buone Feste^.^

  5. #5
    Guest

    Predefinito

    Se posso darti un consiglio, usa 1 variabile sola per la query:
    Codice PHP:
    $conta = "SELECT COUNT(id_sezione) as conta From forum_discussione WHERE id_sezione='".$risultato['id_sezione']."' ";
    $conto = mysql_query($conta);

    /* falla diventare */
    $conto = mysql_query("SELECT COUNT(id_sezione) as conta From forum_discussione WHERE id_sezione='{$risultato[id_sezione]}');
    E usa le {graffe}

  6. #6
    Guest

    Predefinito

    grazie del consiglio e per stamparla poi...
    come dovrebbe essere...


    p.s.
    sai darmi una mano per l'altra cosa...

  7. #7
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Basta ordinare i dati per la data:
    Codice:
    SELECT * FROM forum_discussione WHERE id_sezione='{$risultato[id_sezione]}' ORDER BY campo_data DESC

  8. #8
    Guest

    Predefinito

    non proprio ti faccio un esempio....

    io creo un forum giusto...
    tu crei una discussione e io ti rispondo...
    poi arriva un altro utente che crea un altra discussione e dovrebbe essere prima della tua...
    se poi un altro utente commenta la discussione di prima quella nostra la tua discussione dovrebbe essere prima della sua...

    non so come spiegartelo...^^

  9. #9
    Guest

    Predefinito

    È per questo che solitamente, quando ho bisogno di sviluppare un forum in PHP, non creo una tabella per le discussioni ma solamente una per i messaggi. La tabella ha un campo che definisce se il messaggio è il primo di una discussione, e in caso affermativo allora la discussione si intitola come si intitola il messaggio. In questa maniera ti basta ordinare i messaggi per data e poi visualizzare il primo come titolo della discussione. Lo so che non sono stato molto chiaro ma non credo che ci sia un'altra maniera per spiegartelo.

  10. #10
    Guest

    Predefinito

    capito ma penso che come faccio io sia molto più facile poi non so ma non so come posso fare quella cosa che metta in ordine le discussioni per data tipo come altervista...^^
    tipo qua
    http://forum.it.altervista.org/php-m...file-database/

    il mio sarà il primo messaggio fino a quando un altro utente con creerà un altra discussione o risponderà ad una discussione...


    p.s.
    sapete dirmi dove e l'errore
    Codice PHP:
    <form action=ìì>
    <select name="siti" >

    <?php
    $elenco_argomenti
    = mysql_query("SELECT * FROM forum_argomenti");
    while(
    $elenco_argomenti = mysql_fetch_array(){ ?>
    <optgroup label="<?php echo $elenco_argomenti['titolo_argomento']; ?>">
    <?php
    $elenco_sezioni
    = mysql_query("SELECT * FROM forum_sezioni WHERE id_argomento='".$elenco_argomenti['id_argomento']."'");
    while(
    $elenco_sezioni = mysql_fetch_array($elenco_sezioni)){ ?>
    <option value="index.php?sez=<?php echo $elenco_sezioni['id_sezione']; ?>"><?php echo $elenco_sezioni['titolo_sezione']; ?></option>
    <?php } ?>
    </optgroup>
    <?php } ?>

    </select>
    </form>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •