• User Attivo

    query php select

    Salve a tutti, sono alle prime armi con il php e avrei bisogno di aiuto per realizzare una query che specifichi le seguenti richieste:

    Seleziona la tabella pages e se sono presenti risultati stampa ed elenca in ordine** id **i seguenti campi:

    Title e **urltitle **

    l'urltitle deve essere collegato come url al campo title.

    Il risultato che vorrei ricevere dovrebbe fornirmi link di pagine ed apparire nel seguente modo

    page1 - page2 - page3 ecc con i rispettivi link.
    Spero di essermi espresso al meglio e confido in un vostro aiuto.
    Ringrazio in anticipo a chi vorrà aiutarmi


  • User Attivo

    Allora con un po di difficoltà sono riuscito ad ottenere un primo risultato con la seguente query:

    <?
    $sql = "SELECT title, title_url FROM pages";
    $result = mysql_query($sql);
    $array = mysql_fetch_array($result);
    print "PAGINA: ".$array['title']." - ";
    print "LINK: ".$array['title_url']." - ";
    ?>

    Ecco cosa stampa adesso:
    PAGINA: pagina test - LINK: pagina-test -

    Ora avrei bisogno di fare due modifiche:

    1. Vorrei stampare tutte le righe presenti
    2. il title_url deve linkare il title

    Spero che qualcuno possa aiutarmi. Grazie


  • User Attivo

    Ho provato anche questa soluzione e sono riuscito a stampare tutti i dati
    <?
    $result = mysql_query("SELECT title, title_url FROM pages");
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf(" %s - %s.html -", $row[0], $row[1]); }
    mysql_free_result($result);
    ?>

    ora come posso fare per linkare %s - con il valore ricavato da %s.html ?
    Aiutooooo
    Grazie


  • User Attivo

    Devi inserire
    [HTML]
    <a href=$variabilephp>sito.html</a>

    [/HTML]
    Secondo me,direttamente come lo hai fatto diventa macchinoso e meglio,giusto per prova,assegnare ad una variabile il valore di %s prima del printf e poi giostrandoti con echo l'istruzione come sopra.
    [PHP]
    $variabilephp=%s;
    $shtml=%s.html;
    echo "<a href=$variabilephp>$shtml</a>";
    [/PHP]
    In questo momento non ho provato la giusta sintassi del codice di cui sopra, ma naturalmente è tutto da provare,ma è giusto per darti l'idea.
    :fumato:


  • User Attivo

    Ciao e grazie per la dritta.
    Io sono poco esperto, potresti provare a postarmi l'intero codice così da permettermi di testare il tuo suggerimento?
    Ho provato ma non riesco.


  • User Attivo

    Ho fatto così e funziona:
    **<?
    $result = mysql_query("SELECT title_url, title FROM pages");
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf(" <a href=/pages/%s.html>%s</a> - ", $row[0], $row[1]); }
    mysql_free_result($result);
    ?>

    **Dici che potrebbe creare problemi?
    Grazie ancora !


  • User Attivo

    Non che sia espertissimo di sicurezza ma da quello che ho appreso nei
    corsi che ho fatto(e tanta esperienza)bisogna sempre filtrare i dati che vengono passati sia in input che output,quindi,sia che passi i dati alla pagina o che li ricevi filtrare sempre i contenuti e,non da meno,filtrare anche le query con i dovuti accorgimenti,esistono vari trattati sugli argomenti, basta fare una ricerca.
    Spero di averti aiutato e schiarite le idee.
    Alla prossima.
    :fumato: