Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 44

Discussione: Creazione sito con tabelle dinamiche :(

  1. #1
    Guest

    Predefinito Creazione sito con tabelle dinamiche :(

    Salve ragazzi, vi prego sno un pò in crisi
    Devo creare un sito che contenga una sezione di po quella del seguente link:
    http://www.smartwebadvertising.com/italiano/ordina.htm

    cliccando sui primi due "procedi" si arriva ad una tabella che prende i dati dal db, e crea la tabella relativa in html...da questa tabella poi sifanno le selezioni e andando avanti le selezioni vengon memorizzate e così via...qualcuno sa dirmi se c'è uno script per fare tutto ciò..o se è possibile come crearlo? fatemi sapere presto

    vi rignrazio anticipatamente.

    p.s. utilizzo cms come mambo, qndi se qcuno conosce un modulo che fa questa esatta cosa lo ringrazio anticipatamente!
    ah e uso anche dreamweaver(se c dovesse essere qlke facilitazione tipo cn i form)

  2. #2
    Guest

    Predefinito

    lo script per creare dinamicamente una tabella è estremamente semplice da farsi da solo in casa.
    io l'ho tirato su con pochi passaggi, pur essendo una pippa assurda.
    Codice PHP:
    //connessione al database
    $conn = mysql_connect("localhost", "user_name", "password")
    or die(
    "Connessione non riuscita: " . mysql_error());
    mysql_select_db("my_database",$conn);

    //lettura dati
    $query = "SELECT campo1, campoX FROM tua_tabella";
    $result = mysql_query($query, $conn);

    echo
    "<table><tr>" //devi scegleirti la formattazione
    //creazione tabella
    while ($row = mysql_fetch_array($result)){
    echo
    "<tr>";//riga
    echo"<td>".$row['campo1']."</td>";//colonna
    }
    //etc

  3. #3
    Guest

    Unhappy

    Ok grazie mille per questo aiuto! ;) solo ke a me serviva che la tabella fosse dinamica..nel senso che se vai a vedere il link ke ho dato....la tabella che contiene gli elementi del db contiene anche dei checkbox per ogni elemento..e gli utenti selezionando il pacchetto preferito poi devono premere prosegui..e spuntare un'altra tabella con altri pacchetti..e anche quì si seleziona quello ke si vuole...e si clicca su prosegui...e viene visualizzata una tabella finale con solo le scelte che hai fatto tu...

    dopo questo punto cliccando su prosegui si vede il form dove inserire i dati anagrafici e tutto il resto...che poi cliccando su invia vanno a finire nel database....

    si può fare? in quel link nella sezione ordina c'è esattamente quello ke mi serve..cliccate sempre su "prosegui" così vedrete cosa intendo(tanto se nn mettete i dati alla fine nn si paga nulla :P )


    p.s. non capisco xkè mi da qsto errore
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\miosito\pagina.php on line 34
    (come se non riconoscesse il mysql_fetch_) :'(
    Ultima modifica di MWolf : 15-03-2006 alle ore 00.26.13

  4. #4
    Guest

    Predefinito

    si credo si possa fare...
    io proverei così:

    Codice PHP:
    <?
    connessione al database

    echo"<table><tr>"; //devi scegleirti la formattazione
    echo"<form id='tuo_form' action='pagina_processa.php'>";
    //creazione tabella
    while ($row = mysql_fetch_array($result)){
    //riga
    echo"<tr>";
    //credo serva un nome UNIVOCO per i checkboxes, per cui ti inventi un modo per crearne sempre uno nuovo magari anche:
    $nomecheck='check'.$row['id'];
    echo
    "<td><input type='checkbox' name='$nomecheck'></td>";
    //così ogni riga ha il nome "checkN" cone N numero riga
    echo"<td>".$row['campo1']."</td>";//colonna
    echo"<td>".$row['campo2']."</td>;
    echo"
    </tr>";
    }
    echo"
    </table>";
    ...
    PS se non posti il codice, non posso aiutarti.. per quanto io possa LOL
    Ultima modifica di lsdforum : 15-03-2006 alle ore 00.35.20

  5. #5
    Guest

    Predefinito

    Eh ma io il codice non l'ho, cioò lo sto facendo..e x ora quello ke ho è solo qllo ke ho copiato da te...a parte ovviamente le modifiche da apportare x il db..

    tu hai visto quel sito? hai visto le tabelle con le varie righe e con i checkbox...e poi quella finale che riassume i check box ke si sono selezionati in precedenza...cmq ora provo cnq uesto codice ke mi hai dato..apportando le varie modifiche..ma non capisco xkè mi spunta quell'errore...e non mi fa nulla :(

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\miosito\pagina.php on line 34

  6. #6
    Guest

    Predefinito

    il mio codice non era fino in fondo corretto,
    posta tutto quello che hai scritto.

  7. #7
    Guest

    Predefinito

    Qsto è qllo ke ho scritto per ora:

    Codice PHP:
    <?php

    //connessione al database
    $conn = mysql_connect("localhost", "root", "")
    or die(
    "Connessione non riuscita: " . mysql_error());
    mysql_select_db("smartwebadvertising-com_1",$conn);

    //lettura dati
    $query = "SELECT nome_offerta, descrizione FROM sva_offerte";
    $result = mysql_query($query, $conn);

    echo
    "<table><tr>" //devi scegleirti la formattazione


    echo "<td><form id="mio_form" name="form1" method="post" action="pagina_processa.php">
    </form>
    </td>"
    ;
    //creazione tabella
    while ($row = mysql_fetch_array($result)){
    //riga
    echo "<tr>";
    //credo serva un nome UNIVOCO per i checkboxes, per cui ti inventi un modo per crearne sempre uno nuovo magari anche:
    $nomecheck='check'.$row['id'];
    echo
    "<td><input type="checkbox" name="check" value="checkbox" /></td>";
    //così ogni riga ha il nome "checkN" cone N numero riga
    echo "<td>".$row['nome_offerta']."</td>"; //colonna
    echo "<td>".$row['descrizione']."</td>;
    echo "
    </tr>";
    }
    echo "
    </table>";


    ?>
    Usa il tasto edita!
    debug
    Ultima modifica di debug : 15-03-2006 alle ore 01.37.51

  8. #8
    Guest

    Predefinito

    intanto vedo un errore qui:
    Codice PHP:
    echo "<td>".$row['descrizione']."</td>; //MANCANO delle virgolette
    codice giusto:
    Codice PHP:
    echo "<td>".$row['descrizione']."</td>"; //ORA CI SONO

  9. #9
    Guest

    Predefinito

    Ok modificato, ma mi da quest'errore(anke prima):

    Parse error: parse error, unexpected T_ECHO, expecting ',' or ';' nella linea 15 del file.

  10. #10
    Guest

    Predefinito

    manca il punto e virgola qui:
    Codice PHP:
    echo "<table><tr>" //devi scegleirti la formattazione
    CORREZIONE
    Codice PHP:
    echo "<table><tr>";
    ALTRO ERRORE:
    Codice PHP:
    echo "<td><form id='mio_form' name='form1' method='post' action='pagina_processa.php'>
    </form>
    </td>"
    ;
    incolla e sostituisci quest riga così com'è, rispetto alla precedente.

    ANCHE QUI:
    Codice PHP:
    echo "<td><input type='checkbox' name='check' value='checkbox'></td>"; //c'era un / incomprensibile
    all'itnerno dell'echo devi usare l'apice ', non le virgolette ".

    PS: paginaprocessa.php è una pagina che devi crearti lo sai vero?
    li dovrai inserire il codice php per processare i dati ed inviarli al database.
    Ultima modifica di lsdforum : 15-03-2006 alle ore 01.54.52

  11. #11
    Guest

    Predefinito

    Cmq se c fosse un modo rapido da fare con mambo magari potrei provare anke qllo..visto ke lo uso..ma non so cosa usare x creare una tabella che prenda i dati dal db :(

    p.S. ok mi scuso x aver postato + volte invece di editare...

    la domanda rimane sempre aperta
    Ultima modifica di MWolf : 15-03-2006 alle ore 13.40.41

  12. #12
    Guest

    Predefinito

    MWolf sei pregato di usare il tasto edita!!
    Non hai notato che ti ho già cancellato un post??

    Ciao!

  13. #13
    Guest

    Predefinito

    Allora..sto provando solo a farmi vedere i dati della tabella da db(la cosa con i check la facciamo dopo), dovrebbe stamparmeli in una tab in html, solo ke qndo faccio partire la pagina mi spunta questo errore:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource nella linea 34 ke sarebbe la seguente:

    Codice PHP:
    while ($row = mysql_fetch_array($result)) {
    dove sbaglio? xkè mi da quell'errore? ho provato a mettere row al posto di array..ma niente

  14. #14
    Guest

    Predefinito

    hai attivato il database si?

  15. #15
    Guest

    Predefinito

    Si database attivato, modifiche apportate, ho scritto x bene il codice e ora mi prende l'elenco che volevo ;) ora devo fare quella cosa dei checkbox..cioè metterli accanto ad ogni cosa e cliccando su prosegui elencare un'altra tabella con solo le righe selezionate con i check.

    Se vuoi edito e ti posto il codice completo della pag funzionante che ho fatto.

  16. #16
    Guest

    Predefinito

    se funziona non c'è bisogno di postare il codice.
    per i checkboxes io fare come già ti ho detto.

    Codice PHP:
    //conn al database

    $query="SELECT id, prodotto, etc FROM tua_table";
    $result=mysql_query($query);

    //creiamo la tabella con una riga di intestazione
    echo"<table>";
    echo
    "<tr><td>Sel</td><td>Nome prodotto</td><td>Descrizione</td></tr>";

    //scorriamo tutto il DB e mettiamo ogni campo in una riga di una tabella
    while ($row = mysql_fetch_array($result)){
    $nomecheck="chek".$row['id']; //nome che cambia per ogni checkbox
    echo"<tr>"; //creiamo la riga
    echo"<td><input type='checkbox' name=$nomecheck value='ON'></td><td>".$row['prodotto']."</td><td>".$row['descrizione']."</td>";
    echo
    "</tr>"; //fine riga
    } //chiuso il ciclo while
    echo"</table>"; //chiudiamo la tabella
    ?>
    sto andando ad occhio, non l'ho testato, non so se funziona, provalo.
    Ultima modifica di lsdforum : 15-03-2006 alle ore 16.55.15

  17. #17
    Guest

    Predefinito

    Ok, provato e funziona..c'è solo da modificare la formattazione, io lo avevo fatto con il ciclo for invece che con while...cmq ok anke così, ma nel bottone per andare avanti cosa devo mettere come "name" e "value"? e inoltre nella pagina successiva come faccio a visualizzare solo qlli checkati?

  18. #18
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da MWolf
    ma nel bottone per andare avanti cosa devo mettere come "name" e "value"?
    Codice HTML:
    <input type="submit" value="Invia">
    e inoltre nella pagina successiva come faccio a visualizzare solo qlli checkati?
    Devi inserire all'inizio della pagina:
    Codice HTML:
    <form action=paginasuccessiva.php" method="GET">
    e in paginasuccessiva.php:
    Codice PHP:
    <? echo "$nomecheck";?>
    Ciao!

  19. #19
    Guest

    Predefinito

    Purtroppo non funge..ci deve essere qualcosa che non va...cioè va avanti ma la pagina che mi da è vuota :(

  20. #20
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    tu usa il codice di probid, poi i campi che vuoi che si creino dinamicamente li richiami tramite variabile che andrà a leggere nel database.

  21. #21
    Guest

    Predefinito

    I codici di probid li ho usati, ma quando premo invia la pagina mi spunta bianca...nonostante abbia messo quell' echo ke mi ha detto probib, che dovrebbe darmi la variabile $nomecheck...ma invece non mi da nulla..pagina bianca...

  22. #22
    Guest

    Predefinito

    l'echo l'hai messo nella pagina che ti appare bianca?

  23. #23
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da lsdforum
    l'echo l'hai messo nella pagina che ti appare bianca?
    Ha già detto di averlo messo...
    Comunque nn riesco proprio a capire dove sta l'errore...

  24. #24
    Guest

    Predefinito

    Raga vi prego..senza ke i mod si arrabbiano...posto le 2 pagine, la prima e la successiva..e vedete secondo voi cosa c'è ke nn va :(

    Prima pag:
    Codice PHP:
    <?php
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");


    $result = mysql_query ("SELECT nome_offerta, descrizione, costo, posizione, id FROM sva_offerte ORDER BY posizione ASC;",$db) or die("Blabla");
    while (
    $row = mysql_fetch_array($result)){
    $nomecheck="chek".$row['id']; //nome che cambia per ogni checkbox
    echo"<tr>"; //creiamo la riga
    echo"<td><input type='checkbox' name='$nomecheck' value='on'></td><td>".$row['nome_offerta']."</td><td>".$row['descrizione']."</td><td>€".$row['costo']."</td><td>".$row['id']."</td>";
    echo
    "</tr>"; //fine riga
    } //chiuso il ciclo while
    echo"</table>"; //chiudiamo la tabella
    ?>

    <table width="100" border="1" align="center">
    <tr>
    <td width="267"><form name="form2" method="GET" action="seconda.php">
    Prosegui
    <input type="submit" name="prosegui" value="Invia">
    </form></td>
    </tr>
    </table>
    seconda:
    Codice PHP:
    <?php
    echo "$nomecheck";
    ?>

  25. #25
    Guest

    Predefinito

    Nessuno più mi sa aiutare? :(

  26. #26
    L'avatar di smilzo666
    smilzo666 non è connesso Utente
    Data registrazione
    22-09-2003
    Residenza
    La Capitale
    Messaggi
    114

    Predefinito

    apparte il fatto che la costruzione delle checkbox la devi fare all'interno della form insieme al tasto invia, cmq ti conviene fare una cosa del genere:

    Codice PHP:
    <?php
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    ?>
    <form name="form2" method="GET" action="seconda.php">
    <table width="100" border="1" align="center">
    <?php

    $result
    = mysql_query ("SELECT nome_offerta, descrizione, costo, posizione, id FROM sva_offerte ORDER BY posizione ASC;",$db) or die("Blabla");
    while (
    $row = mysql_fetch_array($result)){
    echo
    "<tr>"; //creiamo la riga
    echo"<td><input type='checkbox' name='check[]' value='".$row['id']."'></td><td>".$row['nome_offerta']."</td><td>".$row['descrizione']."</td><td>€".$row['costo']."</td><td>".$row['id']."</td>";
    echo
    "</tr>"; //fine riga
    } //chiuso il ciclo while
    ?>
    <tr>
    <td colspan="5">
    Prosegui
    <input type="submit" name="prosegui" value="Invia">
    </td>
    </tr>
    </table>
    </form>

    A differenza di prima imposto le check con lo stesso nome "check[]"
    in realtà il vero nome è "check", le parentesi stanno ad indicare che quel parametro deve essere passato come array.


    Nell'altra pagina devi fare:

    Codice PHP:

    if isset($_GET['check'])
    {
    foreach (
    $_GET['check'] as $key => $val)
    {
    echo
    "id = ".$val."<br />";
    }
    }
    in questo modo ti stampi tutti gli ID che l'utente ha checkato.
    Con questi id poi puoi farci quello che vuoi...
    "Vuoi rendere impossibile per chiunque opprimere un suo simile? Allora, assicurati che nessuno possa possedere il Potere."
    - M. Bakunin -

  27. #27
    Guest

    Predefinito

    Ok, ho fatto come dici tu e mi da come errore questo:

    Parse error: parse error, unexpected T_ISSET, expecting '

    la linea dell'errore è qsta:

    Codice PHP:
    if isset($_GET['check'])

  28. #28
    L'avatar di smilzo666
    smilzo666 non è connesso Utente
    Data registrazione
    22-09-2003
    Residenza
    La Capitale
    Messaggi
    114

    Predefinito

    ops... mancano due parentesi.
    sostituisci quella riga con:

    Codice PHP:
    if (isset($_GET['check']))
    "Vuoi rendere impossibile per chiunque opprimere un suo simile? Allora, assicurati che nessuno possa possedere il Potere."
    - M. Bakunin -

  29. #29
    Guest

    Predefinito

    tu sei un grande :D grazie mille :D mi è spuntato l'elenco degli id che ho selezionato :D e per fare spuntare la tabella(ke posso formattare io) con non solo l'id? cioè con la descrizione dell'offerta relativa a quell'id(magari anche senza ke l'id venga mostrato)? scusa se t kiedo troppo e se t rompo :( ma sto imparando da poco il php..e così imparo!
    Ultima modifica di MWolf : 17-03-2006 alle ore 16.52.29

  30. #30
    L'avatar di smilzo666
    smilzo666 non è connesso Utente
    Data registrazione
    22-09-2003
    Residenza
    La Capitale
    Messaggi
    114

    Predefinito

    Puoi fare una cosa del genere nella seconda pagina:

    Codice PHP:
    <?php
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $listaid = "";

    if (isset(
    $_GET['check']))
    {
    foreach (
    $_GET['check'] as $key => $val)
    {
    if (
    $listaid == "")
    $listaid = $val;
    else
    $listaid = $listaid.", ".$val;
    }
    }

    echo
    "<table width='100' border='1' align='center'>";

    // Questa è la stessa query della prima pagina ma con la where sugli id
    // per il resto è tutto ugale alla prima pagina tranne che qui non creo le checkbox
    $result = mysql_query ("SELECT nome_offerta, descrizione, costo, posizione, id FROM sva_offerte where id in (".$listaid.") ORDER BY posizione ASC;",$db) or die("Blabla");
    while (
    $row = mysql_fetch_array($result)){
    echo
    "<tr>"; //creiamo la riga
    echo"<td>".$row['nome_offerta']."</td><td>".$row['descrizione']."</td><td>€".$row['costo']."</td><td>".$row['id']."</td>";
    echo
    "</tr>"; //fine riga
    } //chiuso il ciclo while



    // Addirittura puoi continuare in una terza pagina semplicemente aggiungendo questo:
    // In questo modo ti porti appresso tutti gli id e li recuperi proprio come hai fatto qui
    ?>
    <tr>
    <td colspan="4">
    <form name="form2" method="GET" action="terza.php">
    <?php

    if (isset($_GET['check']))
    {
    foreach (
    $_GET['check'] as $key => $val)
    {
    echo
    "<input type='hidden' name='check[]' value='".$val."'>"
    }
    }

    ?>
    Prosegui
    <input type="submit" name="prosegui" value="Invia">
    </form>
    </td>
    </tr>
    //
    </table>
    "Vuoi rendere impossibile per chiunque opprimere un suo simile? Allora, assicurati che nessuno possa possedere il Potere."
    - M. Bakunin -

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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