• User Attivo

    Titolo + Link

    Ciao ragà sto ad uscì pazzo 😄
    Vediamo se qualke "sapientino" mi può dare una manina con php + mysql visto ke sono un po' principiante.
    Ecco cosa dovrei costruire:
    Vorrei creare all'interno del mio sito una Top 10. E quindi far vedere per esempio i 10 titoli più cliccati (fino a qua non ho problemi con php-mysql). Il problema nasce quando devo oltre a far vedere il titolo più cliccato renderlo cliccabile inserendogli il link suo specifico (se non fosse una top 10 potrei scriverglielo io direttamente) che si trova sempre all'interno della stessa tabella di mysql. Sapete lo script per fare una cosa del genere?
    P.S.: Premetto ke non mi occorre associarli un link che si riferisce ad una pagina comune per tutti in cui poi tramite per esempio "id" far apparire il contenuto in quanto il contenuto non si trova su mysql ma è scritto sulla pagina.
    Aspetto con trepidazione risposte dagli esperti 🙂


  • Super User

    mi dici che il link si trova all'interno della stessa tabella.

    Mettiamo che il titolo è $titolo e il link è $link
    dove $titolo e $link sono già stati assegnati da db con una cosa del tipo

    
    $titolo = $frow['titolo'];
    $link = $frow['link'];
    
    

    Per fare quello che ti serve ti basta scrivere

    
    echo "<a href=$link>$titolo</a>";
    
    

    Però non so perchè ma mi sembra troppo semplice 😄
    Mi sa che non ho capito qualche passaggio :mmm:


  • User Attivo

    Suppergiù è quello che ho scritto pure io ma mi visualizza il titolo lo rende clikkabile ma non funge 😢
    Ti copio preciso come ho scritto (tolgo solamente i dati di connessione al database):

    
    $query = "SELECT file_name, file_docsurl FROM `pafiledb_files` ORDER BY file_dls DESC LIMIT 0,1";
    $risultato_query = @mysql_query&#40;$query, $conn&#41;;
    
    while &#40;$risultato = @mysql_fetch_array&#40;$risultato_query, $conn&#41;&#41; &#123;
    	$risultatio .= "$risultato&#91;file_name&#93;";
    &#125;
    while &#40;$risultato = @mysql_fetch_array&#40;$risultato_query, $conn&#41;&#41; &#123;
    	$risultato_100 .= "$risultato&#91;file_docsurl&#93;";
    &#125;
    echo "<a href=$risultato_100>$risultatio</a>"; 
    

    La parola "file_name" mi dà il titolo mentre "file_docsurl dovrebbe darmi l'url della pagina. Il risultato è ke il titolo si vede è cliccabile ma ha come link la stessa pagina dove è allocato :mmm:
    Ci sta qualke errorino nello script secondo voi?


  • Super User

    @Capitan Harlock said:

    Ci sta qualke errorino nello script secondo voi?

    Direi di si...

    perchè gli fai fare 2 volte il while?
    Prova così

    $query = "SELECT file_name, file_docsurl FROM `pafiledb_files` ORDER BY file_dls DESC LIMIT 0,1"; 
    $risultato_query = @mysql_query&#40;$query, $conn&#41;; 
    
    while &#40;$risultato = @mysql_fetch_array&#40;$risultato_query, $conn&#41;&#41; &#123; 
       $risultatio .= "$risultato&#91;file_name&#93;"; 
       $risultato_100 .= "$risultato&#91;file_docsurl&#93;"; 
    &#125; 
    echo "<a href=$risultato_100>$risultatio</a>"; 
    

    :ciauz:


  • User Attivo

    Ti posso dare un bacio??? 😄
    Miticooooooooooooooooooo :fumato:
    Funziona tutto grazie mille Tuono 😄


  • User Attivo

    Tuono scusa se ti stresso ma ti vorrei chiedere un ultimo favorino. Sempre dallo stesso script vorrei implementare un terzo campo aggiungendo il numero di volte che quell'articolo è stato letto.
    Ho fatto così:

    $query_39 = "SELECT file_name, file_docsurl, file_dls FROM `pafiledb_files` ORDER BY RAND&#40;&#41; LIMIT 0,1";
    $risultato_query_39 = @mysql_query&#40;$query_39, $conn&#41;;
    
    while &#40;$risultato = @mysql_fetch_array&#40;$risultato_query_39, $conn&#41;&#41; &#123;
    	$risultato_39 .= "$risultato&#91;file_name&#93;";
                    $risultato_101 .= "$risultato&#91;file_docsurl&#93;";
                    $risultato_102 .= "$risultato&#91;file_dls&#93;";
    &#125;
    
    echo "<a href=$risultato_101>$risultato_39 - Letto $risultato_102</a>"; 
    

    Si visualizza tutto e pure clikkabile. L'unico inconveniente è che vorrei che "Letto $risultato_102" si vedesse nella riga sotto e non nella stessa riga e ke inoltre possa cambiare i colori di "$risultato_39", "Letto" , "$risultato_102" cioè facendoli di 3 colori diversi. Potresti aggiustarmelo please 😞


  • Super User

    Ma letto n volte vuoi che sia cliccabile? Secondo me se lo metti a capo non ti conviene farlo cliccabile.

    Io farei così:

    $query_39 = "SELECT file_name, file_docsurl, file_dls FROM `pafiledb_files` ORDER BY RAND&#40;&#41; LIMIT 0,1";
    $risultato_query_39 = @mysql_query&#40;$query_39, $conn&#41;;
    
    while &#40;$risultato = @mysql_fetch_array&#40;$risultato_query_39, $conn&#41;&#41; &#123;
    	$risultato_39 .= "$risultato&#91;file_name&#93;";
                    $risultato_101 .= "$risultato&#91;file_docsurl&#93;";
                    $risultato_102 .= "$risultato&#91;file_dls&#93;";
    &#125;
    
    echo "[url="$risultato_101><font"]$risultato_39</font>
     <font color=red>Letto </font><font color=green>$risultato_102</font>"; 
    

    Dimmi come va così

    CIAO!


  • User Attivo

    Si va benissimo l'unico problema è ridimensionare le scritte dei tre. Cioè redere le dimensioni delle scritte di "$risultato_39", "Letto" e "$risultato_102" diverse perkè come è fatto ora hanno la stessa dimensione :mmm:
    Si può modificare?


  • Super User
    $query_39 = "SELECT file_name, file_docsurl, file_dls FROM `pafiledb_files` ORDER BY RAND&#40;&#41; LIMIT 0,1";
    $risultato_query_39 = @mysql_query&#40;$query_39, $conn&#41;;
    
    while &#40;$risultato = @mysql_fetch_array&#40;$risultato_query_39, $conn&#41;&#41; &#123;
    	$risultato_39 .= "$risultato&#91;file_name&#93;";
                    $risultato_101 .= "$risultato&#91;file_docsurl&#93;";
                    $risultato_102 .= "$risultato&#91;file_dls&#93;";
    &#125;
    
    echo "[url="$risultato_101><font"]$risultato_39</font>
     <font size=3 color=red>Letto </font><font size=2 color=green>$risultato_102</font>"; 
    

  • User Attivo

    Grazie Tuono 😄
    Obbligato nei tuoi confronti :fumato: