Salve ragazzi,
sto eseguendo un select su due tabelle diverse, in modo che vengano poi inseriti i dati estratti in un'altra tabella dal nome "ordini".
I dati vengono pescati da due distinte tabelle: una si chiama utenti, l'altra eventi. I campi che mi servono sono: dalla prima utente_id, dalla seconda event_id.
La struttura della tabella ordini è questa:
CREATE TABLE `ordini` (
`ordine_id` int(5) NOT NULL auto_increment,
`utente_id` int(5) NOT NULL,
`event_id` int(5) NOT NULL,
`numero` int(5),
`totale` decimal (5,2),
`data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`ordine_id`,`utente_id`, `event_id`)
)
Vi posto il codice php con la query:
Codice PHP:
<?
session_start();
$_SESSION['username'];
include("config.php");
mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi");
mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
if(empty($_POST["id"])){
echo"Non hai selezionato nulla";
}
else{
$dati = mysql_query("SELECT utenti. *, eventi. * from utenti, eventi WHERE utente_id='".$_SESSION['username']."' AND event_id='".$_POST['id']."'") or die( mysql_error() . "
" . $sql) ;
$array = mysql_fetch_array($dati);
}
?>
<?php
$event_id = $array['event_id'];
$utente_id = $array['utente_id'];
$numero = htmlentities(strip_tags($_POST["numero"]));
$totale = htmlentities(strip_tags($_POST["totale"]));
mysql_query("insert into ordini (numero, totale, event_id, utente_id) values ('$numero', '$totale', '$event_id', '$utente_id')") or die( mysql_error() . "
" . $sql) ;
mysql_close();
?>
Ora, qual'è il problema? Che l'inserimento nella tabella ordini avviene correttamente per quel che concerne l'event_id. Per quanto riguarda utente_id mi viene sempre valorizzato il dato 1. Perchè? Teoricamente pesco i dati relativi alla tabella "utenti" attraverso la sessione che ha memorizzato l'username. Da qui poi dovrei ottenere tutti i dati relativi ad un determinato cliente. Quindi anche user_id che andrebbe poi nella tabella ordini alla voce utente_id.
Come mai ciò non accade e mi viene sempre il valore 1? (come se fosse sempre il primo utente registrato nel sito?)