Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32

Discussione: PHP e tabella html

  1. #1

    PHP e tabella html

    Ho una home con una tabella con tre titoli, che corrispondono ai tre campi su phpmydmin e che sono dei link alla stessa home. A seconda della selezione ho tre if che cambiano la richiesta SQL e visualizzano di conseguenza la tabella ordinata diversamente.
    Con il css ho modificato l'aspetto dei tre titoli/link inserendovi una classe e relativa :hover.
    Questa è parte del codice:
    Codice PHP:
    <?php
    include('mysql_conn.php');
    $selezione = @$_GET['selezione'];
    if(!
    $selezione OR $selezione == 'titolo') {
    $sql "SELECT * FROM lyrics ORDER BY ID";
    echo 
    "<form name='elenco_canzoni' method=GET action='get_votes.php'>";
    echo 
    "<table><thead><tr><th colspan='2'>[url='index2.php?selezione=titolo']Titolo[/url]</th><th>[url='index2.php?selezione=autore']Autore[/url]</th><th>[url='index2.php?selezione=album']Album[/url]</th></tr>";
    }
    Gli if naturalmente sono tre dopo di che continua la composizione della tabella e del form, con un ciclo while etc etc..
    Volevo sapere se è possibile in qualche modo abbreviare la scritture degli if eliminando le due righe che scrivono i link della tabella. Servono solamente perche a seconda della selezione voglio che il link secondo il quale in quel momento i record sono ordinati, assuma un aspetto diverso dagli altri due(che già hanno una classe per modificarne l'aspetto di default html).
    Non riesco a immaginare come semplificare questo passaggio, sempre che sia possibile.
    In sostanza si tratta di avere due link con classe 'x' e il terzo con classe 'y' che si scambiano a seconda della selezione dell'utente.
    Grazie.

  2. #2
    fai un array delle selezioni
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  3. #3
    $selezione = array('titolo','autore','album')
    e come lo uso poi? non c'arrivo.

  4. #4
    Un modo usando un array come nivasio può essere questo
    Codice PHP:
    include('mysql_conn.php');
    //$selezione = @$_GET['selezione']; //non è buona abitudine usare la @

    if (isset($_GET['selezione'])) 
    $selezione $_GET['selezione'];
    else 
    $selezione 'titolo'//mi pare di capire che sia il tuo default
     
    //array
    $linkclass = array(
    'titolo'=>'link_menu',
    'autore'=>'link_menu',
    'album'=>'link_menu'
    );

    if(
    $selezione == 'titolo') {
    $sql "SELECT * FROM lyrics ORDER BY ID";
    $linkclass ['titolo']='link_selected';
    }
    else if(
    $selezione == 'autore') {
    $sql "SELECT * FROM ...";
    $linkclass ['autore']='link_selected';
    }
    else if(
    $selezione == 'album') {
    $sql "SELECT * FROM ....";
    $linkclass ['album']='link_selected';
    }
    echo 
    "<form name='elenco_canzoni' method=GET action='get_votes.php'>";
    echo 
    "<table><thead><tr><th colspan='2'>[url='index2.php?selezione=titolo']Titolo[/url]</th>";
    echo 
    "<th>[url='index2.php?selezione=autore']Autore[/url]</th>";
    echo 
    "<th>[url='index2.php?selezione=album']Album[/url]</th></tr>"

  5. #5
    Capisco, non avevo pensato di utilizzare le coppie di valori quindi non sapevo come modificarne uno lasciando invariati gli altri due ...grazie.
    E pure per la @, che non mi sembrava una soluzione ottimale ma non sapevo che l'isset fosse la soluzione.
    E' il primo sito che provo a fare da solo in php (4), ancora ne so poco o niente.

  6. #6
    Originariamente inviato da caramelleamare
    E pure per la @, che non mi sembrava una soluzione ottimale ma non sapevo che l'isset fosse la soluzione.
    E' il primo sito che provo a fare da solo in php (4), ancora ne so poco o niente.
    Sì la @ bisognerebbe dimenticare che esiste perché tutti gli errori, warning e anche notice andrebbero sempre gestiti...
    Cmq se è da poco che programmi in php ti consiglio vivamente di inziare subito con php5 il php4 è davvero troppo datato ormai.

    ...che poi immagino che sia solo questione del manuale/tutorial che stai usando perché sicuramente la release php che stai usando sarà almeno una 5.2.x!

  7. #7
    ne so poco o niente
    ...infatti non capisco questa scrittura all'interno del form:

    class = ' ".$linkclass ['titolo']." '

    alla fine class dovrebbe essere una stringa, dico bene? tipo class='menu', se nel css ho una classe .menu
    perche quindi c'è il punto prima e dopo, invece di un semplice class = \" $linkclass['titolo'] \"
    ??

  8. #8
    Originariamente inviato da philbert
    Sì la @ bisognerebbe dimenticare che esiste perché tutti gli errori, warning e anche notice andrebbero sempre gestiti...
    d'accordo, poi io non sopporto nascondere una cosa solo per non farla vedere ma sapere che esiste. la vorrei risolvere sempre, ma non sono ancora in grado e ogni tanto la @ mi scappa.

    Cmq se è da poco che programmi in php ti consiglio vivamente di inziare subito con php5 il php4 è davvero troppo datato ormai.

    ...che poi immagino che sia solo questione del manuale/tutorial che stai usando perché sicuramente la release php che stai usando sarà almeno una 5.2.x!
    dipende dal manuale, ma la scelta è stata ponderata per il fatto che nei manuali di php4 avrei trovato meglio dettagliata la base del linguaggio senza dare niente per scontato cisto che io non ho mai guardato prima un codice in vita mia.
    Ho già pronto, appena avrò finito questo sito di prova un bel manule di php5, con la programmazione ad oggetti quindi, e molto piu improntato alla teoria della programmazione vera e propria che non alla costruzione di un sito come fanno un po tutti i manuali per principianti.
    Poi, se ci capirò qualcosa non lo so...

  9. #9
    Originariamente inviato da caramelleamare
    ne so poco o niente
    ...infatti non capisco questa scrittura all'interno del form:

    class = ' ".$linkclass ['titolo']." '

    alla fine class dovrebbe essere una stringa, dico bene? tipo class='menu', se nel css ho una classe .menu
    perche quindi c'è il punto prima e dopo, invece di un semplice class = \" $linkclass['titolo'] \"
    ??
    poteva andare benissimo anche
    class = \" $linkclass['titolo'] \"

    ...anzi è anche più corretto dal punto di vista HTML scrivere <a class="..."> piuttosto che <a class='...'>

    sul forum uno modifica le cose un po' in fretta e poi volevo usare il concatenamento per evidenziare bene che appunto $linkclass ['titolo'] era una stringa...

    Originariamente inviato da caramelleamare
    dipende dal manuale, ma la scelta è stata ponderata per il fatto che nei manuali di php4 avrei trovato meglio dettagliata la base del linguaggio senza dare niente per scontato cisto che io non ho mai guardato prima un codice in vita mia.
    Sì, capisco, però così rischi di imparare ad usare varie funzioni che sono ormai deprecate....e di prendere abitudini sbagliate, appena ti senti sicuro sulla basi passa al manuale php5


    Ho già pronto, appena avrò finito questo sito di prova un bel manule di php5, con la programmazione ad oggetti quindi, e molto piu improntato alla teoria della programmazione vera e propria che non alla costruzione di un sito come fanno un po tutti i manuali per principianti.
    Poi, se ci capirò qualcosa non lo so...
    Certo che ci capirai!
    basta non avere fretta, assimilare i concetti poco alla volta e sopratutto sperimentare e smanettare per vedere effettivamente come le cose funzionano


  10. #10
    Originariamente inviato da philbert
    poteva andare benissimo anche
    class = \" $linkclass['titolo'] \"

    ...anzi è anche più corretto dal punto di vista HTML scrivere <a class="..."> piuttosto che <a class='...'>

    sul forum uno modifica le cose un po' in fretta e poi volevo usare il concatenamento per evidenziare bene che appunto $linkclass ['titolo'] era una stringa...
    Non te lo avrei chiesto se non avessi provato, ma mi da errore:
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\oasis\index.php on line 73
    se appunto scrivo:
    Titolo ...
    cosa può essere?

    Alle deprecazioni ci sto attento, quando me le segnala smetto di usarle. A fine Agosto provo col PHP5. Intanto in questo sito di prova voglio poter votare cinque canzoni prese dall'elenco, non piu di cinque(controllate con javascript ...già fatto) e soprattutto poi visualizzare nuovamente l'elenco con i voti aggiornati accanto a ciascun titolo.
    Non solo, vorrei poi poter fare delle statistiche, cioè visualizzare quale è l'autore più apprezzato anche se non votato direttamente ma ricavandolo dai record e, sommando i voti delle canzoni appartenenti ai vari album, la classifica degli album. Una tabellina per ogni classifica, tutte nella stessa pagina. Quindi non più ordinabili per tipo, ma solo crescente-decrescente. Poi, in realtà, mi piacerebbe anche che oltre al numero dei voti ci fosse una barra percentuale, funzionante ovviamente. Non so se è fattibile con php o se mi devo rivolgere a qualche java prestampato, come ho fatto per limitare le checkbox.

    P.S. Poi ci sarebbe la questione dei cookies per permettere di votare per esempio non piu di una volta al mese, non che riconosocere un utente e avere l'archivio delle sue precedenti votazioni eheh. Poi ci faccio un bel 'accetti la mia amicizia?' fra gli utenti così che quelli amici possono consultarsi le votazioni a vicenda e offendersi se hanno scelto canzoni balorde. E' un bel piano no!? Per Novembre facebook e twitter saranno solo un ricordo sbiadito.

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.