Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2016
    residenza
    Roma
    Messaggi
    14

    Recuperare dati da tabella SQL e mandarli via mail

    Salve ragazzi, mi servirebbe recuperare un dato da un database SQL che poi dovrà essere mandato via mail.
    Ora io ho un database di questo tipo:Nel sito ho un form di questo tipo:
    Ora, quando un utente compila il form deve essere estratta la colonna "taglia" corrispondente all'altezza e al peso dell'utente che deve essere inserita in un file php adibito a mandare la mail.
    Presumo che dovrei fare con la query SELECT ma non so come impostarla.
    Grazie per l'aiuto!

  2. #2
    Si potrebbe utilizzare Like:
    Codice PHP:
    $q="select Taglia from Tabella where Altezza like '%".addslashes($_POST['altezza'])."%' and Peso like '%".addslashes($_POST['peso'])."%'"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2016
    residenza
    Roma
    Messaggi
    14
    Al posto della % ci devo mettere qualcosa o devo lasciare cosi?

  4. #4
    Quote Originariamente inviata da budwaiser4 Visualizza il messaggio
    Al posto della % ci devo mettere qualcosa o devo lasciare cosi?
    Devi lasciare così, quello è un carattere jolly

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2016
    residenza
    Roma
    Messaggi
    14
    Dunque ho provato a mandare la mail ma nella mail mi restituisce Resource id #3.
    Questo è il codice in PHP della mail.

    codice:
    <?php
    
    $link = mysql_connect('localhost', 'provamiositoufficiale', '');
    if (!$link) {
    	die ('Non riesco a connettermi: ' . mysql_error());
    }
    
    
    $db_selected = mysql_select_db('my_provamiositoufficiale', $link);
    if (!$db_selected) {
    	die ("Errore nella selezione del database: " . mysql_error());
    }
    
    
    $query="SELECT Taglia FROM Misure WHERE Altezza like '%".addslashes($_POST['altezza'])."%' and Peso like '%".addslashes($_POST['peso'])."%'";  
    
    
    // lancio la query
    $result = mysql_query($query);
    
    
    // controllo l'esito
    if (!$result) {
    	die("Errore nella query $query: " . mysql_error());
    }
    
    
    // chiudo la connessione a MySQL
    mysql_close();
    
    
    // Check for empty fields
    if(empty($_POST['nomecognome'])  		||
    	empty($_POST['email']) 		||
    	empty($_POST['telefono']) 		||
        empty($_POST['nazione']) 		||
       empty($_POST['città'])	||
       empty($_POST['indirizzo'])	||
       empty($_POST['cap']) 		||
       empty($_POST['altezza'])	||
       empty($_POST['peso']) 
        )
    
    
    
    
    
    
    	
    $nomecognome = $_POST['nomecognome'];
    $email = $_POST['email'];
    $telefono = $_POST['telefono'];
    $nazione = $_POST['nazione'];
    $città = $_POST['città'];
    $indirizzo = $_POST['indirizzo'];
    $cap = $_POST['cap'];
    $altezza = $_POST['altezza'];
    $peso = $_POST['peso'];
    $girocollo = $_POST['girocollo'];
    $mezzobusto = $_POST['mezzobusto'];
    $taschino = $_POST['taschino'];
    
    
    	
    // Create the email and send the message
    $to = 'info@manuelalterio.it'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
    $email_subject = "Preordine Laric";
    $email_body = "Hai ricevuto un nuovo messaggio dal contact form del sito.\n\n"."Questi i dettagli:\n\nNome: $nomecognome\n\nEmail: $email\n\nTelefono: $telefono\n\nNazione: $nazione\n\nCitta': $città\n\nIndirizzo: $indirizzo\n\nCap: $cap\n\nAltezza: $altezza\n\nPeso: $peso\n\nT-shirt Girocollo: $girocollo\n\nT-shirt Mezzobusto: $mezzobusto\n\nT-shirt Taschino: $taschino\n\nTaglia: $result";
    $headers = "From: $email\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
    $headers .= "Reply-To: $email";	
    mail($to,$email_subject,$email_body,$headers);
    return true;			
    ?>
    Questa è la struttura del DB.L'ID l'ho impostato come chiave primaria. Con il codice php che ho messo non mi dovrebbe stampare le taglie vere e proprie?

  6. #6
    Valorizza una variabile $taglia estraendola da $result

    Codice PHP:
    $result mysql_fetch_object(mysql_query($query));
    $taglia=$result->Taglia
    Le funzioni che usi per interfacciarti al db sono state deprecate molto tempo fa, dovresti iniziare ad usare mysqli o PDO.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2016
    residenza
    Roma
    Messaggi
    14
    Ho cambiato il codice mettendo il mysqli, sperando di non aver fatto errori.
    Codice PHP:
    $link mysqli_connect("localhost""provamiositoufficiale""""my_provamiositoufficiale");
    if (!
    $link) {    echo "Errore: Non riesco a connettermi al DB." PHP_EOL;    echo "Debugging errno: " mysqli_connect_errno() . PHP_EOL;    echo "Debugging error: " mysqli_connect_error() . PHP_EOL;    exit;}$query="SELECT Taglia FROM Misure WHERE Altezza like '%".addslashes($_POST['altezza'])."%' and Peso like '%".addslashes($_POST['peso'])."%'";  
     
    $result mysqli_fetch_object(mysqli_query($query));$taglia=$result->Taglia;  
    if (!
    $result) {    die("Errore nella query $query: " mysqli_error());}mysqli_close($link); 
    Ora non so se nel codice che mi hai scritto quello $taglia=$result->Taglia; non so se dovevo aggiungere ->Taglia oppure era a scopo dimostrativo perchè di php sono alle prime armi.
    Ti ringrazio comunque per l'interessamento

  8. #8
    Quote Originariamente inviata da budwaiser4 Visualizza il messaggio
    Ho cambiato il codice mettendo il mysqli, sperando di non aver fatto errori.
    Codice PHP:
    $link mysqli_connect("localhost""provamiositoufficiale""""my_provamiositoufficiale");
    if (!
    $link) {    echo "Errore: Non riesco a connettermi al DB." PHP_EOL;    echo "Debugging errno: " mysqli_connect_errno() . PHP_EOL;    echo "Debugging error: " mysqli_connect_error() . PHP_EOL;    exit;}$query="SELECT Taglia FROM Misure WHERE Altezza like '%".addslashes($_POST['altezza'])."%' and Peso like '%".addslashes($_POST['peso'])."%'";  
     
    $result mysqli_fetch_object(mysqli_query($query));$taglia=$result->Taglia;  
    if (!
    $result) {    die("Errore nella query $query: " mysqli_error());}mysqli_close($link); 
    Ora non so se nel codice che mi hai scritto quello $taglia=$result->Taglia; non so se dovevo aggiungere ->Taglia oppure era a scopo dimostrativo perchè di php sono alle prime armi.
    Ti ringrazio comunque per l'interessamento
    non era dimostrativo

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2016
    residenza
    Roma
    Messaggi
    14
    Allora mettendo il codice che mi hai mandato non mi invia la mail. Mentre invece con
    Codice PHP:
    $result mysql_query($query
    mi invia la mail ma mi esce il famoso Resource ID #3.
    Sai come posso risolvere? Sto diventando scemo

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.