Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    domanda su sintassi query

    Ciao.
    Sto studiando un manuale di php/mysql e sto provando a mettere in pratica gli esempi, ma c'è un particolare che non viene spiegato e nemmeno in rete ho trovato riferimenti.
    Di seguito riporto parte del codice in questione, una funzione da inserire in un piccolo cms. Ciò che non mi è chiaro è la sintassi usata nella query mysql. Cosa indicano ar.* e usr.*, visto che non sono i nomi dei campi delle tabelle del database?


    function outputStory($article, $only_snippet=FALSE) {
    global $conn;

    if ($article) {
    $sql = "SELECT ar.*, usr.name " .
    "FROM cms_articles ar " .
    "LEFT OUTER JOIN cms_users usr " .
    "ON ar.author_id = usr.user_id " .
    "WHERE ar.article_id = " . $article;
    $result = mysql_query($sql,$conn);

    E' la prima volta che vedo una query formulata così e vorrei capire bene quello che sto facendo. Grazie!

  2. #2
    ar e usr sono i nomi di due tabelle. L'asterisco (*) indica tutte le colonne. Il punto separa il nome della tabella dal nome della colonna (o dall'asterisco).

  3. #3

    Re: domanda su sintassi query

    Originariamente inviato da sakuchan
    Ciao.
    Sto studiando un manuale di php/mysql e sto provando a mettere in pratica gli esempi, ma c'è un particolare che non viene spiegato e nemmeno in rete ho trovato riferimenti.
    Di seguito riporto parte del codice in questione, una funzione da inserire in un piccolo cms. Ciò che non mi è chiaro è la sintassi usata nella query mysql. Cosa indicano ar.* e usr.*, visto che non sono i nomi dei campi delle tabelle del database?


    function outputStory($article, $only_snippet=FALSE) {
    global $conn;

    if ($article) {
    $sql = "SELECT ar.*, usr.name " .
    "FROM cms_articles ar " .
    "LEFT OUTER JOIN cms_users usr " .
    "ON ar.author_id = usr.user_id " .
    "WHERE ar.article_id = " . $article;
    $result = mysql_query($sql,$conn);

    E' la prima volta che vedo una query formulata così e vorrei capire bene quello che sto facendo. Grazie!
    Quello che stai facendo è una Query che unisce 2 tabelle con una LEFT OUTER JOIN.

    in queste righe non so se è stato il forum ma manca as
    "FROM cms_articles AS ar " .
    "LEFT OUTER JOIN cms_users AS usr " .

    praticamente as serve a chiamare in un altro modo la tabella o il campo...

    quindi ar.* e usr.* significa seleziona tutti i campi delle tabelle ar (ovvero cms_articles) e usr (ovvero cms_users)


  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    L'as è opzionale, si può anche omettere.

  5. #5
    Originariamente inviato da nicola75ss
    L'as è opzionale, si può anche omettere.
    ops, nn lo sapevo....

  6. #6
    GRAZIE MILLE!
    Ora è tutto chiaro.


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.