Visualizzazione dei risultati da 1 a 6 su 6

Discussione: commenti ad albero

  1. #1

    commenti ad albero

    ciao a tutti ragazzi. sono qui per chiedere aiuto a voi. sono quasi vicini gli esami di stato e i proff ci hann detto di fare dei siti per presentarli alla commissione, io che dovrei realizzare una bacheca eventi mi sono bloccato sui commenti di una news, ovvero nn ho idea di come creare la visualizzazione ad albero dei commenti ( ad albero intendo che si puo commentare la news principale e anche commentatre i commenti di commenti ). mi date una mano? grazie mille
    aaa uso php ( dreamwaever ) e l'SQL di xampp (PhpMyAdmin)

  2. #2

    Re: commenti ad albero

    Originariamente inviato da leo-pomata
    uso php ( dreamwaever ) e l'SQL di xampp (PhpMyAdmin)
    mai frase fiu piu divertente... "uso php (dreamweaver)", ma soprattutto "L'sql di xampp"... da sbellicarsi

    cmq, risate a parte:

    per rispondere al tuo problema bisogna capire che cos'è un commento. Un commento è una riflessione/risposta/appunto su una tematica principale. Nel tuo caso la tematica principale sono le news... quindi un commento deve essere legato alla news. Un gruppo piu ristretto di commenti però nel tuo caso può fare riferimento a tematiche secondarie, nel tuo caso sotto-tematiche della news...e quindi i commenti... quindi un commento può essere legato ad un altro commento. Quindi la versione molto semplicistica della cosa, di rozza analisi ma di veloce implementazione (che per gli esami di stato è pure troppo), è quella di mettere due riferimenti in un commento:

    news_id, che specifica la tematica principale
    comment_id, che specifica la tematica secondaria, ovvero il commento al commento

    mentre news_id sarà obbligatoriamente un campo not null, comment_id potrà essere null. se valorizzato, ecco che avrai una bella foglia del ramo nel tuo albero. se nullo, il commento sarà una radice del tuo albero.

    Detto ciò ti ritrovi solo il problema di costruire l'albero e di stamparlo.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    io ho gia fatto tutto..ovvero scrivo news con un proprio id, commenti, e commenti di commenti. il fatto è che non riesco a stamparli in ordine e indentati

  4. #4
    ecco l'immagine della mia tabella commenti. io ho in id commento, in idnews che lega i commenti a ogni news e un id commento2..il proff mi ha ddtto di fare cosi:
    -se scrivi un commento principlae alla news, allora id commento2 lascialo vuoto
    -se invece fai un commento di commento, allora id commento 2 deve avere l'idcommento della news a cui sta rispondendo.

    io sono riuscito a ottenere qst, pero quando vado a visualizzarli, mi vengono in ordine di data, e non indentati.
    Immagini allegate Immagini allegate

  5. #5
    ah ok specifichiamo meglio la cosa allora

    eh.. beh.. ci sono vari algoritmi per la stampa e la creazione di alberi...diciamo che manco sarebbero banali anche se comuni... quello piu semplice penso sia il seguente (per la creazione dell'albero intendo)

    ah premessa: per stampare un albero devi prima avere l'albero, e averlo in maniera da poterlo utilizzare, quindi la tabella del database non va bene.. un array farà a caso nostro..quindi

    1) estrai tutti i record dal database relativi alla news che ti interessa (a proposito, ma che sarebbe idcommento2 nell'immagine?? ).

    2) ti metti tutti gli id in un array, arr1, quindi avrai una cosa del tipo

    array( [0] => id1, [1] => id2 ... [n] => idn ) (ndr: questo array potrebbe essere opzionale e potresi usare direttamente quello che crei una volta estratti i dati dal database)

    3) crei un secondo array vuoto,arr2.

    4) cicli sul primo array: per ogni id in arr2 ti scorri i record estratti dal database e prendi gli id dei record che referenziano all'id che stai usando in quel momento e salvi in arr2 usando come chiave l'id e come valore un array contenete gli id che hai scoperto

    5) hai creato l'albero. Poi per stamparlo vediamo...

    in pratica se tu hai una situazione simile:
    codice:
    ---- tutti i commenti di una news
    1
    --2
    3
    4
    --5
    ----7
    ----8
    -----9
    6
    10
    11
    avresti
    Codice PHP:
    arr1 = array(1,2,3,4,5,6,7,8,9,10,11
    e
    Codice PHP:
    arr2 
    array(
    => array(2)
    => null
    => null
    => array(5)
    => array(7,8)
    => null
    => null
    => array(9)
    => null
    10 
    => null
    11 
    => null

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    il commento2 mi ha detto il proff lo devo associare a idcommento

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.