Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    [blocco momentaneo] prendere dati da tabella mysql php

    sarà una banalità ma non riesco ad arrivare al dunque del ragionamento che faccio per estrapolare questi "dati" che mi servono..

    allora ho due tabelle:

    - tab UTENTE = id , nome , cognome
    - tab IMMAGINI = id , idutente , file

    allora dovrei far si che dopo che eseguo la select sulla tabella immagini per estrapolare le immagini e i relativi dati, devo far tramutare l'id utente in nome e cognome quindi io avevo fatto così:

    codice:
      $ultimi_ins = $db->prepare("SELECT * FROM immagini ORDER BY id DESC LIMIT 4");
      $ultimi_ins->execute();
      $res_ultimi=$ultimi_ins->fetchAll();
      $nomecognome = $db->prepare("SELECT nome, cognome FROM utente WHERE id = :idutente");
      $nomecognome->execute(array(':idutente',ECCO QUI COME FACCIO A FARGLI CAPIRE CHE DEVE ESSERE IL RISULTATO DELLA QUERY PRECEDENTE SOLO QUELLO RIGUARDANTE L'IDUTENTE?));

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    eh infatti ricordavo che a scuola avevo fatto le inner join... però dovrei collegare le tab con mysql dentro il phpmyadmin? oppure basta utilizzare soltanto il php?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    però aspetta ora che ci penso, allora forse mi sono spiegato male...

    io ho questa query:

    codice:
      $ultimi_ins = $db->prepare("SELECT * FROM immagini ORDER BY id DESC LIMIT 4");
      $ultimi_ins->execute();
      $res_ultimi=$ultimi_ins->fetchAll();
    DOPODICHè i risultati li leggo così:

    codice:
              <?php
              foreach($res_ultimi as $tattoo){
                if($tattoo['tipo']=="tatuatore"){
                echo "<div class=\"col-xs-6 col-sm-3 placeholder\">";
                  echo "<img style=\"width:200px;height:200px;\" class=\"img-responsive img-thumbnail\" alt=\"Generic placeholder thumbnail\" src=utenti/".$tattoo[idutente]."/".$tattoo[nomeimmagine].">";
                  echo "<h4>{$tattoo['idutente']}</h4>";
                  echo "<span class=\"text-muted\"><input type=\"number\" name=\"your_awesome_parameter\" id=\"some_id\" class=\"rating\" data-clearable=\"remove\"/</span>";
                echo "</div>";
              }
              }
              ?>
              </div>
              <h1 class="page-header">Ultimi disegni inseriti</h1>
              <div class="row placeholders">
              <?php
              foreach($res_ultimi as $disegni){
                if($disegni['tipo']=="disegnatore"){
                echo "<div class=\"col-xs-6 col-sm-3 placeholder\">";
                  echo "<img style=\"width:200px;height:200px;\" class=\"img-responsive img-thumbnail\" alt=\"Generic placeholder thumbnail\" src=utenti/".$disegni[idutente]."/".$disegni[nomeimmagine].">";
                  echo "<h4>{$disegni['idutente']}</h4>";
                  echo "<span class=\"text-muted\"><input type=\"number\" name=\"your_awesome_parameter\" id=\"some_id\" class=\"rating\" data-clearable=\"remove\"/</span>";
                echo "</div>";
              }
              }
              ?>
    OK... adesso quello che vorrei fare io è che al posto di
    codice:
    echo "<h4>{$disegni['idutente'] / $tattoo['idutente']}</h4>";
    vorrei stamparci il risultato della presunta query che dovrei fare con la JOIN.

    la mia domanda è, la query con la JOIN la faccio sulla query già esistente oppure ne devo creare un'altra?

  4. #4
    Codice PHP:
    $selectQuery "SELECT * FROM utenti U LEFT JOIN immagini I ON U.id = I.idutente WHERE U.id = :uid ORDER BY I.id DESC LIMIT 4" 
    :uid sarà l'id utente che passi tramite $_GET suppongo..
    Questa volta, più che un voto.. è favoreggiamento.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    nono in questa select non passo nulla ne tra get ne tra niente... praticamente è solo una select sulla tabella per far spuntare tutte le ultimi 4 immagini prese dal db però il nome dell'utente che ha caricato l'immagine si trova su un'altra tabella ovvero sulla tabella utente...

    mi spiegheresti la query che hai scritto? perchè U LEFT JOIN ?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    cioè io praticamente vorrei che sotto ogni immagine che stampo appaiano il nome e il cognome dell'autore dell'immagine.... se per esempio facessi una query del tipo

    codice:
    $query="SELECT * FROM immagini LEFT JOIN utente ON immagini.idutente = utente.id ORDER BY id DESC LIMIT 4";
    poi come posso estrapolare il campo nome e il campo cognome contenuti nella tabella utente?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    cioè? ti giuro non ci sto arrivando è mezzora che ci penso

  8. #8
    Codice PHP:
    $selectQuery "SELECT * FROM utenti U LEFT JOIN immagini I ON U.id = I.idutente ORDER BY I.id DESC LIMIT 4" 
    ah ok senza where..

    seleziona tutto da utenti alias U collega (visualizzando anche i risultati senza corrispondenza) da immagini alias I usando U.id uguale a I.idutente ordinando per I.id decrescente limitando a 4 records
    Questa volta, più che un voto.. è favoreggiamento.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    si ma... io devo far stampare le ultime 4 immagini inserite nella tabella immagini quindi dovrei selezionare tutto da immagini e poi selezionare il nome e il cognome dalla tabella utenti e le due tabelle sono collegate dallo stesso id ovvero che idutente (di immagini) è uguale all' id della tabella utente...

  10. #10
    Codice PHP:
    $selectQuery "SELECT * FROM immagini I INNER JOIN user U ON U.id = I.idutente ORDER BY I.id DESC LIMIT 4" 
    al contrario quindi
    Questa volta, più che un voto.. è favoreggiamento.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.