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

    Prelevare campi da tabelle diverse

    Salve, sto provando a creare un modulo per l'invio dei rapporti di intervento e mi sono bloccato in un punto.
    Ho una tabella "clienti" con i campi "idcliente, cliente"
    un'altra tabella "interventi" con i campi "id, intervento, clienteid"
    nel modulo inserimento nuovo rapporto creo una variabile $_post e la invio ad una pagina che preleva solo "intervento e clienteid", come posso fare per recuperare il campo "cliente" avendo a disposizione solo "clienteid"?
    Pensavo ad una inner join ma probabilmente non ho ancora capito bene il funzionamento perchè mi blocco
    Grazie

  2. #2

  3. #3
    Magari con:

    codice:
    SELECT cliente FROM clienti WHERE idcliente = clienteid
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Originariamente inviato da testapazza
    mi posteresti la query?
    certo, questo è il form rapporti.php:
    Codice PHP:
        <form action="newrapp.php" method="post">
            <label>Seleziona cliente già esistente:
                <select name="cid" size="1">
                <option selected value="">Nessuna selezione</option>
        <?php
        
    while ($clientemysql_fetch_array($clienti)) {
        
    $cid $cliente['idcliente'];
        
    $cnome htmlspecialchars($cliente['cliente']);
        echo 
    "<option value='$cid'>$cnome</option>\n";
      } 
      
    ?>
      </select></label>
      

      <div>
        

    <label> Data intervento:
            <input type="text" name="date" value="<?php echo date('d-n-Y');?>"></label></p>
        

    Intervento:

      <textarea name="intervento" rows="5" cols="45"></textarea></p>
      <input type="submit" value="INVIA" />
      </form>
      <input type="button" value="ESCI" onclick="location.href='index.php'">
      </div>
    e questo è il file newrapp.php, oltre che a inserire i dati nel database, vorrei estrapolare il nome cliente per poi mandare una mail al mio indirizzo contenente il nome del cliente e testo dell'intervento.


    Codice PHP:
     $interventi = @mysql_query('SELECT intervento, clienteid, data FROM interventi');
          if (!
    $interventi) {
             exit(
    '

    Errore durante il recupero della lista dei rapporti</p>'
    );
          }      
          
    //questo lo carica se un nuovo autore è stato registrato dal form più sotto
            
    if (!isset($_POST['intervento']));
          
    $cid $_POST['cid'];
          
    $day $_POST['date'];
          
    $data date("Y-m-d"strtotime($day));
          
    $intervento $_POST['intervento'];
          
          
    $sql "INSERT INTO interventi SET
                intervento='
    $intervento',
                clienteid='
    $cid',
                data='
    $data'";
                
         if (@
    mysql_query($sql)) {
           echo 
    '

    Rapporto inviato correttamente</>'
    ;
           } else {
             exit(
    '

    Errore durante l\'invio del rapporto: ' 
    mysql_error() . '</p>');
             }
          
    header("refresh: 3; rapporti.php"); 

  5. #5
    Sostituisci la variabile $interventi con questa
    Codice PHP:
    $interventi = @mysql_query('SELECT interventi.intervento, interventi.clienteid, interventi.data,clienti.cliente FROM interventi LEFT JOIN clienti ON (interventi.clienteid = clienti.idcliente)'); 
    Dimmi se va...

  6. #6
    Grazie mille per i vostri preziosi consigli, alla fine ho risolto in questa maniera:

    Codice PHP:
    $sql2 = @mysql_query('SELECT * FROM clienti WHERE idcliente=' $cid '');
         if (!
    $sql2) {
           exit (
    '

    Errore nell accoppiamento dei clienti e negli id ' 
    mysql_error() . '</p>');
           }
        while (
    $clientemysql_fetch_array($sql2)) {
        
    $cnome htmlspecialchars($cliente['cliente']);
        } 
    in questo modo ho la variabile $cnome a disposizione
    comunque voglio provare in ogni caso a utilizzare il join, tanto per capire il meccanismo.

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.