Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. marckh
    3. Post
    M

    marckh

    @marckh

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 15
    • Post 37
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    0
    Reputazione
    37
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User

    Post creati da marckh

    • nuova attività ecommerce compatibilità con attività di libero professionista

      Salve ragazzi,
      appurato che per poter operare con attività di ecommerce occorre aprire partita iva, iscrizione camera di commercio, comunicazione al comune e adempimenti inps, vi pongo un quesito.

      Lavoro come libero professionista da diversi anni, ho una partita iva che prevede il versamento dei contributi presso un altro ente di previdenza al quale appartiene la categoria della mia attività. Stamane mi sono recato all'ufficio inps e ho domandato se fosse necessario aprire una posizione con loro a seguito dell'inizio d'attività ecommerce. Mi è stato detto che nel momento in cui giungerà la cumunicazione d'iscrizione presso il loro ente di previdenza, dovrò presentare un documento che attesi il versamento dei contributi presso l'altro ente. A quel punto verrà annullata l'iscrizione all'inps perchè a quanto pare basta solamente versare i contributi presso un solo ente. Anche se l'attività di commercio elettronico fa a pugni con l'altro mio lavoro (per capirci sono un agronomo che versa i contributi verso l'Epap).

      Mi confermate questa possibilità?

      Grazie mille

      postato in Consulenza Legale e Professioni Web
      M
      marckh
    • RE: Problema con script che gestisce delle priorità di pubblicazione

      Mi basterebbe anche solo un suggerimento.
      Sono due giorni che sbatto la testa nel cercare una soluzione funzionante....

      postato in Coding
      M
      marckh
    • Problema con script che gestisce delle priorità di pubblicazione

      Salve ragazzi.
      Ho una home page, all'interno della quale vengono inseriti degli articoli. Ogni articolo ha una priorità, un campo chiamato "flags" all'interno di una tabella "priorità". Le flgas (campo numerico), cono 13.
      In pratica con lo script che posto fra poco ottengo una tabella, con 13 colonne e tante righe quanti sono gli articoli. Ora, all'interno di ogni riga ho visualizzato il valore del campo "event_id", altro non è cge l'id autoincrementante per ogni articolo.

      Posto lo script:

      codice PHP:
      <?
      // inizializza l'array in cui memorizzare gli articoli che sono prioritari
      $priority = array();

      // preleva dal db gli articoli prioritari...
      $query = "SELECT * FROM priorita ORDER BY flags";
      $result = mysql_query($query)
      or die(mysql_error());

      // ...e li inserisce nell'array
      while($row = mysql_fetch_array($result))
      {
      $flag = $row['flags'];
      $priority[$flag] = $row['event_id'];
      }

      // seleziona gli ultimi 10 articoli e li memorizza in un array
      $l_news = array();
      $query = "SELECT *
      FROM eventi Order by event_id
      DESC LIMIT 0,20";
      $result = mysql_query($query)
      or die(mysql_error());

      while($row = mysql_fetch_array($result))
      {
      $l_news[] = $row['event_id'];
      $tipo = $row['tipo'];
      }

      // di seguito comincia a mandare in output codice html

      ?>
      <table cellpadding='2' cellspacing='0' border='1'>
      <tr>
      <?
      // 12 sono gli articoli prioritari, i primi 4 sono obbligatori
      // cominciamo a scrivere la riga delle intestazioni
      for($i =1; $i <= 13; $i ++)
      {
      // oltre il quinto articolo diamo la possibilita' di cancellare la priorita'
      if($i > 12)
      {
      echo "\t\t<th><a href='p_delete.php?id=$i'>P $i</a></th>\n";
      }
      else
      {
      echo "\t\t<th>P $i</th>\n";
      }
      }
      ?>
      </tr>
      <?
      // cicliamo l'array degli articoli e mandiamo in output cio' che server
      foreach($l_news as $key => $event_id)
      {
      echo "\t<tr>\n";
      for($flag = 1; $flag <= 13; $flag ++)
      {
      // se l'articolo risulta tra i prioritari gli mettiamo il grassetto e togliamo il link
      if(isset($priority[$flag]))
      {
      if($event_id == $priority[$flag])
      {
      echo "\t\t<td><strong>$event_id{$tipo}</strong></td>\n";
      }
      else
      {
      echo "\t\t<td><a href='p_insert.php?event_id=$event_id&tipo=$tipo&flags=$flag'>$event_id{$tipo}</a></td>\n";
      }
      }
      else
      {
      echo "\t\t<td><a href='p_insert.php?event_id=$event_id&tipo=$tipo&flags=$flag'>$event_id{$tipo}</a></td>\n";
      }
      }
      echo "\t</tr>\n";
      }
      ?>

      Ma ora ho un problema, e spero che qualcuno possa dagli uno sguardo. Me la sto cantando e suonando da solo.....

      Il problema è che questo script pesca i dati da una sola tabella. Ora ho un'altra tabella, che si chiama "comunicati". Nella tabella comunicati ho un id chiamato "press_id" ed anche il campo "tipo". Or bene, come posso fare per far sì che lo script inglobi questa nuova variabile da una seconda tabella? E che poi in fase di stampa mi dia anche i comunicati e non solo gli eventi.

      Grazie mille

      postato in Coding
      M
      marckh
    • RE: Copiare un dato da una tabella ad un'altra e cancellarlo

      Ecco il codice che comprende quelle righe:

      [php]
      $parm_d = (isset($_POST['b'])?$_POST['b']:(isset($_GET['b'])?$_GET['b']:NULL));
      if (isset($parm_d)) {
      $ordine_id = '';
      $c = explode("P1", $parm_d);
      foreach ($c as $w) {
      $valoreid = explode("=", $w);
      if (ereg("^PAY1_SHOPTRANSACTIONID", $w)) {
      $ordine_id = $valoreid[1];
      }
      }

          $esito_positivo = "KO";
      
          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 ($Trovatook == $esito_positivo) {
          $sql = ("INSERT INTO archiviorder SELECT * FROM ordini WHERE ordine_id='".$ordine_id."'");        
          $sql = ("DELETE * FROM ordini WHERE ordine_id='".$ordine_id."'");
          print "La transazione è stata conclusa correttamente. "."Grazie per l'acquisto tornate presto a trovarci.<br>";
      }
          else {
          print "La transazione non si è conclusa correttamente. "."Vi preghiamo di riprovare. Grazie.<br>";
      

      }
      }
      }
      mysql_close();
      [/php]

      postato in Coding
      M
      marckh
    • RE: Copiare un dato da una tabella ad un'altra e cancellarlo

      Ma perchè scrivendo queste righe

          $dati = mysql_query("INSERT INTO archiviorder SELECT * FROM ordini WHERE ordine_id='".$ordine_id."'");        
          $query = mysql_query("DELETE * FROM ordini WHERE ordine_id='".$ordine_id."'");
      

      mi esegue la prima query ma non la seconda? (quindi la DELETE)

      postato in Coding
      M
      marckh
    • Estrarre diversi valori da una variabile get

      Se ho una variabile get di questo tipo:

      codice PHP:
      b=PAY1_TRANSACTIONRESULT=KOP1PAY1_SHOPTRANSACTIONID=135P1PAY1_BANKTRANSACTIONID=

      Come posso estrarre il primo valore? Ossia "transactionresult=ko"

      Come potete vedere si tratta di una variabile get relativa ad una transazione di denaro, ossia un pagamento. A questa variabile get ho associato questo script:

      codice PHP:
      <?php
      $parm_b = (isset($_POST['b'])?$_POST['b']<img src="images/smilies/frown.gif" border="0" alt="">isset($_GET['b'])?$_GET['b']:NULL));
      if (isset($parm_b)) {
      $TrovataOTP = '';
      $a = explode("P1", $parm_b);
      foreach ($a as $v) {
      $val = explode("=", $v);
      if (ereg("^PAY1_OTP", $v)) {
      $TrovataOTP = $val[1];
      }
      }
      $nome_file = "merchant.ris";
      $array = file($nome_file);
      $ok = NULL;
      foreach ($array as $k => $v) {
      if ($TrovataOTP == trim($v)) {
      $CancellaOTP = trim($v);
      unset($array[$k]);
      $ok = TRUE;
      break;
      }
      }

      if (isset($ok)) { 
          $fp = fopen($nome_file,"wb"); 
          fwrite($fp,implode("",$array)); 
          fclose($fp); 
          print "La transazione è stata conclusa correttamente. "."Grazie per l'acquisto tornate presto a trovarci.<br>"; 
      } else { 
          print "La transazione non si è conclusa correttamente. "."Vi preghiamo di riprovare. Grazie.<br>"; 
      } 
      

      }

      Altro non fa che estrarre una password, vedere se esiste nel file di testo "merchant.ris" e se la trova cancellarla. A questo script vorrei aggiungere una condizione che verifica se il valore transaction è ok oppure no. Se è ok allora mi dice che il pagamento è concluso. Quindi preleva ii dati di un ordine dalla tabella "pagamenti", li copia nella tabella "archivio" e cancella i dati sempre dalla tabella pagamenti.

      Se la transaction non è ok, allora vengo rimandato alla pagina "pagamento.php".

      So che sicuramente non è semplice, ma vi chiedo qualche spunto, suggerimento, esempio. E' importantissimo

      postato in Coding
      M
      marckh
    • RE: Copiare un dato da una tabella ad un'altra e cancellarlo

      Ma le due query debbono essere separate? Come potrei implementare la condizione if con l'insert andato a buon fine?

      postato in Coding
      M
      marckh
    • Copiare un dato da una tabella ad un'altra e cancellarlo

      Salve ragazzi,
      ecco il quesito. Vorrei copiare determinati dati da una tabella ad un'altra. Ad esempio da tabella 1 a tabella 2. Ma nel momento in cui vengono copiate, vorrei che nella tabella 1 vengano cancellati.

      Per copiare potrei fare cosi:

      INSERT INTO tabella 2 SELECT * FROM tabella 1 WHERE id=$id

      ma se volessi anche cancellare il dato dalla tabella 1??

      postato in Coding
      M
      marckh
    • Problema con inner join

      Salve ragazzi, ecco il mio problema. Ho diverse tabelle, di cui vi posto il codice:

      CREATE TABLE eventi (
      event_id int(5) unsigned NOT NULL auto_increment,
      organizzatore_id int(3) NOT NULL,
      evento text NOT NULL,
      luogo text NOT NULL,
      giorno int(2) NOT NULL default '',
      mese int(2) NOT NULL default '',
      anno int(4) NOT NULL default '',
      ora int (4) NOT NULL default '',
      oraporte time NOT NULL,
      descrizione text NOT NULL,
      biglietti int(3),
      disponibilita int(3),
      prezzo decimal (5,2),
      comunicazioni text NOT NULL,
      autore varchar(50) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      foto varchar(50) NOT NULL default '',
      size varchar(25) NOT NULL default '',
      type varchar(25) NOT NULL default '',
      immagine longblob NOT NULL,
      pub int(1) NOT NULL default '0',
      PRIMARY KEY (event_id)
      )

      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)
      )

      CREATE TABLE organizzatori (
      organizzatore_id int(3) NOT NULL auto_increment,
      usernamepromoter varchar(30) NOT NULL default '',
      password varchar(34) NOT NULL,
      confermapassword varchar(34) NOT NULL,
      organizzazione varchar(30) NOT NULL default '',
      partitaiva varchar(30) NOT NULL default '',
      codicefiscale varchar(30) NOT NULL default '',
      cap int(10) NOT NULL default '',
      provincia varchar(30) NOT NULL default '',
      indirizzo varchar(30) NOT NULL default '',
      civico int(5) NOT NULL default '',
      mail char(255) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      ip char(15) NOT NULL default '',
      PRIMARY KEY (organizzatore_id),
      UNIQUE KEY id (organizzatore_id),
      KEY id_2 (organizzatore_id)
      )

      CREATE TABLE utenti (
      utente_id int(3) NOT NULL auto_increment,
      username varchar(30) NOT NULL default '',
      password varchar(34) NOT NULL,
      confermapassword varchar(34) NOT NULL,
      nome varchar(30) NOT NULL default '',
      cognome varchar(30) NOT NULL default '',
      giorno int(2) NOT NULL default '',
      mese int(2) NOT NULL default '',
      anno int(4) NOT NULL default '',
      cap int(10) NOT NULL default '',
      provincia varchar(30) NOT NULL default '',
      indirizzo varchar(30) NOT NULL default '',
      civico int(5) NOT NULL default '',
      mail char(255) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      ip char(15) NOT NULL default '',
      PRIMARY KEY (utente_id),
      UNIQUE KEY id (utente_id),
      KEY id_2 (utente_id)
      )

      Spiego in parole semplici come funziona il tutto. Ho utenti che si registrano. Possono acquistare degli eventi. L'acquisto va a confluire nella tabella ordini, ove ho i campi: event_id, utente_id e ordine_id. I primi due sono di collegamento con le tabelle eventi e utenti.

      Ora, la tabella eventi contiene anche un campo organizzatore_id, in modo che sia collegata alla tabella organizzatori.

      L'organizzatore vuole sapere, per gli eventi che ha inserito, la lista di persone che hanno acquistato, con nomi, cognomi, numero di biglietti, totale in Euro. I primi dati vanno estratti dalla tabella utenti, i secondi dalla tabella ordini.

      L'organizzatore entra in un suo archivio eventi, dove vede tutti gli eventi che ha inserito. Clikka su uno dei tanti, gi si pare una pagine che mostra i dettagli per quell'evento. Ecco quindi che nella pagina dei dettagli passa anche l'id relativo a quell'evento. Ora, questo id dovrebbe anche essere presente nella tabella ordini, visto che un utente potrebbe aver acquistato biglietti per quell'evento.

      La qury dovrebbe pertanto dirmi, per quell'evento, chi ha acquistato, quindi nome, cognome, quanti biglietti, quindi campo numero da tabella ordini, e totale, ossia prezzo per numero biglietti. Il prezzo è contenuto nella tabella eventi.

      Ora, mi sembra che le tabelle siano collegate correttamente. Per verificare, le ho postate prima con tutti i campi che contengono.

      Ma la query che eseguo non ne vuole sapere di funzionare!! Ho provato mille modifiche. Eccola:

      "SELECT utenti., eventi., ordini.*
      FROM utenti
      INNER JOIN ordini ON ordini.utente_id = utenti.utente_id
      INNER JOIN eventi ON eventi.event_id = ordini.event_id
      WHERE ordini.event_id ='".$_GET['id']."' Order by ordini.event_id Desc"

      Mi da sempre lo stesso risultato. Esempio. Faccio acquisti con due utenti diversi: Ivan, SAra. Cosa mi da? Sempre Ivan, e mi estrae solo 2 record. Ossia, se anche gli acquisti sono 10, mi da sempre 2 risultati.

      Risultati che ottengo così:

      Code:

      $str = '<table border=0 bordercolor=#000000>';
      $str.= '<thead>';
      $str.= '<tr>';
      $str.= '<th style='padding-right:20px;'>Nome</th>';
      $str.= '<th style='padding-right:20px;'>Numero biglietti</th>';
      $str.= '</tr>';
      $str.= '</thead>';
      $str.= '<tbody>';

      while($results = mysql_fetch_array($query)) {

          $str.='<tr>';  
          $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['nome'].'</td>'; 
          $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['numero'].'</td>'; 
          $str.='</tr>';  
      

      $str.= '</tbody>';
      $str.= '</table>';
      echo $str;

      Dove diamine sbaglio. Sono tre giorni che non ne vengo a capo!!!!

      postato in Coding
      M
      marckh
    • RE: Problema con inner join

      Il problema della query l'ho risolto.
      Piuttosto, all'interno della query

      SELECT utenti., eventi.evento as strEvento, ordini.
      FROM utenti
      INNER JOIN ordini ON ordini.utente_id = utenti.utente_id
      INNER JOIN eventi ON eventi.event_id = ordini.event_id
      WHERE utenti.utente_id ='".$_GET['id']."' Order by ordine_id Desc LIMIT $primo, $per_page"

      vorrei inserire la stringa

      date_format(data,'%d-%m-%Y %H:%i') AS 'dataora'

      ma non c'è verso!! Ho provato in vari modi ma nulla. Come posso fare?

      postato in Coding
      M
      marckh
    • RE: Associare un acquisto ad un utente

      Ho risolto il problema in questo modo. Ora ho diverse tabelle, di cui mostro la struttura:

      CREATE TABLE utenti (
      utente_id int(3) NOT NULL auto_increment,
      username varchar(30) NOT NULL default '',
      password varchar(34) NOT NULL,
      confermapassword varchar(34) NOT NULL,
      nome varchar(30) NOT NULL default '',
      cognome varchar(30) NOT NULL default '',
      giorno int(2) NOT NULL default '',
      mese int(2) NOT NULL default '',
      anno int(4) NOT NULL default '',
      cap int(10) NOT NULL default '',
      provincia varchar(30) NOT NULL default '',
      indirizzo varchar(30) NOT NULL default '',
      civico int(5) NOT NULL default '',
      mail char(255) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      ip char(15) NOT NULL default '',
      PRIMARY KEY (utente_id),
      UNIQUE KEY id (utente_id),
      KEY id_2 (utente_id)
      )

      La seconda, eventi:

      CREATE TABLE eventi (
      event_id int(5) unsigned NOT NULL auto_increment,
      evento text NOT NULL,
      luogo text NOT NULL,
      dataevento varchar(50) NOT NULL default '',
      ora varchar(50) NOT NULL default '',
      descrizione text NOT NULL,
      disponibilita int(3),
      prezzo decimal (5,2),
      autore varchar(50) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      nome varchar(50) NOT NULL default '',
      size varchar(25) NOT NULL default '',
      type varchar(25) NOT NULL default '',
      immagine longblob NOT NULL,
      pub int(1) NOT NULL default '0',
      PRIMARY KEY (event_id)
      )

      La terza, ordini:
      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)
      )

      Come vedete nell'ultima ho i campi che mettono in relazione le tre tabelle. In questo modo vorrei ottenere, in una pagina, tutti i dati relativi agli acquisti effettuati da un determinato utente. Ad esempio, l'utente 1 che eventi ha acquistato, quanti biglietti per singolo evento, il costo totale. La query sarebbe questa, ma da un problema.

      codice PHP:
      <?php
      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($_GET["id"])){
      echo"Non hai selezionato nulla";
      }
      else{

      $dati = mysql_query("SELECT utenti., eventi., ordini.*
      FROM utenti
      INNER JOIN ordini ON ordini.utente_id = utenti.utente_id
      INNER JOIN eventi ON eventi.event_id = ordini.event_id
      WHERE utenti.utente_id ='".$_GET['id']."'") or die( mysql_error() . "<br>" . $sql);
      $array = mysql_fetch_array($dati);

      echo "<h3>Evento acquistato</h3> $array[evento]<br><br>";
      echo "<h3>Biglietti acquistati</h3> $array[numero]<br><br>";
      echo "<h3>Costo totale:</h3> $array[totale]<br>";
      echo "Acquistato il ".substr($array ['dataora'],0,10)." alle ". substr($array ['dataora'],11,5);
      mysql_close();
      }
      ?>

      Il problema è semplice, l'esecuzione di questa query mi da solo un risultato, il primo acquisto effettuato da un determinato utente. Dal primo in poi nulla. Esce fuori solo il primo, gli altri eventualmente fatti è come se non esistano all'interno del database. Come mai? Io vorrei che uscisse fuori la lista di tutti gli ordini effettuati, con nome e cognome dell'utente, la sua via, numero civico, eventi acquistati, numero biglietti per singolo evento, totale costo dei biglietti acquistati per ogni singolo evento.

      Perchè non salta fuori, dove sto sbagliando?

      postato in Coding
      M
      marckh
    • Problema con inner join

      Salve ragazzi. Il problema è il seguente. Ho tre tabelle, che memorizzano dati di clienti, eventi e ordini. Vi mostro la struttura. La prima, utenti:

      CREATE TABLE utenti (
      utente_id int(3) NOT NULL auto_increment,
      username varchar(30) NOT NULL default '',
      password varchar(34) NOT NULL,
      confermapassword varchar(34) NOT NULL,
      nome varchar(30) NOT NULL default '',
      cognome varchar(30) NOT NULL default '',
      giorno int(2) NOT NULL default '',
      mese int(2) NOT NULL default '',
      anno int(4) NOT NULL default '',
      cap int(10) NOT NULL default '',
      provincia varchar(30) NOT NULL default '',
      indirizzo varchar(30) NOT NULL default '',
      civico int(5) NOT NULL default '',
      mail char(255) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      ip char(15) NOT NULL default '',
      PRIMARY KEY (utente_id),
      UNIQUE KEY id (utente_id),
      KEY id_2 (utente_id)
      )

      La seconda, eventi:

      CREATE TABLE eventi (
      event_id int(5) unsigned NOT NULL auto_increment,
      evento text NOT NULL,
      luogo text NOT NULL,
      dataevento varchar(50) NOT NULL default '',
      ora varchar(50) NOT NULL default '',
      descrizione text NOT NULL,
      disponibilita int(3),
      prezzo decimal (5,2),
      autore varchar(50) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      nome varchar(50) NOT NULL default '',
      size varchar(25) NOT NULL default '',
      type varchar(25) NOT NULL default '',
      immagine longblob NOT NULL,
      pub int(1) NOT NULL default '0',
      PRIMARY KEY (event_id)
      )

      La terza, ordini:
      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)
      )

      Come vedete nell'ultima ho i campi che mettono in relazione le tre tabelle. In questo modo vorrei ottenere, in una pagina, tutti i dati relativi agli acquisti effettuati da un determinato utente. Ad esempio, l'utente 1 che eventi ha acquistato, quanti biglietti per singolo evento, il costo totale. La query sarebbe questa, ma da un problema.

      [PHP]
      <?php
      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($_GET["id"])){
      echo"Non hai selezionato nulla";
      }
      else{

      $dati = mysql_query("SELECT utenti., eventi., ordini.*
      FROM utenti
      INNER JOIN ordini ON ordini.utente_id = utenti.utente_id
      INNER JOIN eventi ON eventi.event_id = ordini.event_id
      WHERE utenti.utente_id ='".$_GET['id']."'") or die( mysql_error() . "<br>" . $sql);
      $array = mysql_fetch_array($dati);

      echo "<h3>Evento acquistato</h3> $array[evento]<br><br>";
      echo "<h3>Biglietti acquistati</h3> $array[numero]<br><br>";
      echo "<h3>Costo totale:</h3> $array[totale]<br>";
      echo "Acquistato il ".substr($array ['dataora'],0,10)." alle ". substr($array ['dataora'],11,5);
      mysql_close();
      }
      ?>
      [/PHP]

      Il problema è semplice, l'esecuzione di questa query mi da solo un risultato, il primo acquisto effettuato da un determinato utente. Dal primo in poi nulla. Esce fuori solo il primo, gli altri eventualmente fatti è come se non esistano all'interno del database. Come mai? Io vorrei che uscisse fuori la lista di tutti gli ordini effettuati, con nome e cognome dell'utente, la sua via, numero civico, eventi acquistati, numero biglietti per singolo evento, totale costo dei biglietti acquistati per ogni singolo evento.

      Perchè non salta fuori, dove sto sbagliando?

      postato in Coding
      M
      marckh
    • Select da due tabelle diverse

      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:
      [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() . "<br>" . $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() . "<br>" . $sql) ;
      mysql_close();
      ?>
      [/PHP]

      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?)

      postato in Coding
      M
      marckh
    • RE: Associare un acquisto ad un utente

      Vorrei capire però una cosa. Supponiamo di avere le due tabelle. Ordini e utenti. In entrambe abbiamo il campo id_utente. Chiaro che quando un utente si registra, su id_utente della tabella utenti viene dato un valore (autoincrement, per esempio uno). Ma è chiaro che su quella ordini non viene dato nessun valore.

      L'id_utente della tabella ordini viene compilato quando l'utente effettua l'acquisto. Ma non è detto che i due id_utente coincidano. Non so se mi spiego. Magari un utente di registra e non acquista. Subito dopo se ne registra un altro, con id_utente pari a 2. Questo acquista e valorizza l'id_utente della tabella ordini con 1. Non c'è corrispondenza tra gli Id_utente delle due tabelle. In una (utenti) ho 2, nell'altra (ordini) ho 1.

      Come faccio a relazionarle?

      Credo di aver scritto un po' di castronerie.....

      postato in Coding
      M
      marckh
    • RE: Associare un acquisto ad un utente

      Aspetta però, stiamo parlando di due dati diversi o sbaglio? Da un lato serve l'id_utente. Dall'altro, tramite la sessione, passi l'username. O no?

      postato in Coding
      M
      marckh
    • RE: Associare un acquisto ad un utente

      Salvarlo in sessione che intendi? Io utilizzo le sessioni per verificare, in una pagina, che l'utente sia registrato memorizzandoci all'interno username. Se la la variabile di sessione è diversa da username, allora si rimanda alla pagina login.

      Mi sfugge come memorizzare l'id_utente

      per intenderci:

      If ($_SESSION ['username'] != true)
      ecc

      postato in Coding
      M
      marckh
    • RE: Associare un acquisto ad un utente

      Si avevo pensato anche io di inserire l'id_utente. Ma mi sfugge una cosa. Nel momento in cui un un utente entra, acquista. I dati vengono inviati alla tabella ordine. Ma come viene passato il valore dell'id_utente? Oppure come vado poi a pescare i dati per quell'ordine relativi a quell'utente?

      Mi spiego, l'utente dovrebbe poi visualizzare una pagina ove ha i dettagli dell'ordine: il suo nome e cognome, indirizzo per la spedizione, l'evento acquistato, il numero di biglietti acquistati ed il totale dell'acquisto...

      postato in Coding
      M
      marckh
    • Associare un acquisto ad un utente

      Salve ragazzi.
      Ecco il quesito. Allora, ho implementato una serie di script in php che mi consentono di inserire, all'interno di un'area amministrazione e poi nella home page del sito, degli eventi (spettacoli ecc). Gli utenti che vogliono effettuare l'acquisto devono essere registrati e quindi loggati.

      Se vogliono acquistare un evento devono clikkare, in home, sull'evento di loro interesse e vengono rimandati ad una pagina dove compare quell'evento, quindi con il suo id identificativo, ove trovano un form che gli consente di scegliere numero biglietti e viene calcolato il totale. Clikkando sul bottone acquista i dati relativi all'acquisto vengono inseriti in una tabella chiamata ordini.

      Ora, il problema è questo. Non riesco a passare i dati relativi all'utente, ossia il nome, il cognome, la via, ecc.

      Il file che controlla il passaggio dati è questo:

      [PHP]
      <?php
      $numero = htmlentities(strip_tags($_POST["numero"]));
      $totale = htmlentities(strip_tags($_POST["totale"]));

      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");
      mysql_query("insert into ordini (numero, totale) values ('$numero', '$totale')") or die( mysql_error() . "<br>" . $sql) ;
      $ultimo_id = mysql_insert_id();
      mysql_close();
      ?>
      <table width="400" bgcolor="#f5f5f5" align="center" cellpadding="0" cellspacing="5" border="0">
      <tr>
      <td>
      <div align="center">
      <h1><font color="#000000" size="4">Dettaglio acquisti</font></h1>
      </div><br></td></tr>
      </table>
      <br>
      <table width="400" bgcolor="#FFFFFF" align="center" cellpadding="0" cellspacing="5" border="0">
      <tr><td>
      <?php
      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");
      $dati = mysql_query("SELECT date_format(data,'%d-%m-%Y %H:%i') AS 'dataora' FROM ordini WHERE ordine_id='$ultimo_id'");
      $array = mysql_fetch_array($dati);
      echo "<h3>Biglietti acquistati</h3> $numero<br><br>";
      echo "<h3>Costo totale:</h3> $totale<br>";
      echo "Acquistato il ".substr($array ['dataora'],0,10)." alle ". substr($array ['dataora'],11,5);
      mysql_close();
      ?>
      <br>
      <br>
      <?php
      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");

      $dati = mysql_query("SELECT * FROM ordini WHERE ordine_id='$ultimo_id'");
      $array = mysql_fetch_array($dati);
      echo " <tr>";
      echo "<td><a href="modifyevent.php?id=" . $array['ordine_id'] . "">modifica</td> ";
      echo "<td><a href="menuorg.php">Torna al menu</td> ";
      echo "</tr>";
      mysql_close();
      ?>
      [/PHP]

      La struttura delle due tabelle, utenti e ordini, è questa:

      CREATE TABLE utenti (
      utente_id int(3) NOT NULL auto_increment,
      username varchar(30) NOT NULL default '',
      password varchar(34) NOT NULL,
      confermapassword varchar(34) NOT NULL,
      nome varchar(30) NOT NULL default '',
      cognome varchar(30) NOT NULL default '',
      giorno int(2) NOT NULL default '',
      mese int(2) NOT NULL default '',
      anno int(4) NOT NULL default '',
      cap int(10) NOT NULL default '',
      provincia varchar(30) NOT NULL default '',
      indirizzo varchar(30) NOT NULL default '',
      civico int(5) NOT NULL default '',
      mail char(255) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      ip char(15) NOT NULL default '',
      PRIMARY KEY (utente_id),
      UNIQUE KEY id (utente_id),
      KEY id_2 (utente_id)
      )

      CREATE TABLE ordini (
      ordine_id int(5) NOT NULL auto_increment,
      numero int(5),
      totale decimal (5,2),
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      PRIMARY KEY (ordine_id)
      )

      quella degli eventi:

      CREATE TABLE eventi (
      event_id int(5) unsigned NOT NULL auto_increment,
      evento text NOT NULL,
      luogo text NOT NULL,
      dataevento varchar(50) NOT NULL default '',
      ora varchar(50) NOT NULL default '',
      descrizione text NOT NULL,
      disponibilita int(3),
      prezzo decimal (5,2),
      autore varchar(50) NOT NULL default '',
      data timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      nome varchar(50) NOT NULL default '',
      size varchar(25) NOT NULL default '',
      type varchar(25) NOT NULL default '',
      immagine longblob NOT NULL,
      pub int(1) NOT NULL default '0',
      PRIMARY KEY (event_id)
      )

      Come posso risolvere il problema? In modo che all'evento venga associato, al momento dell'acquisto, l'utente che lo sta acquistando? (con tutti i suoi dati, nome, cognome ecc...)

      Grazie mille

      postato in Coding
      M
      marckh
    • RE: Eseguire un totale all'interno di un form

      Vi ringrazio entrambi.
      Proverò entrambe le soluzioni, ma per Digital, quello che hai postato tu è javascript? Non ho tanta dimestichezza in Java per cui non è che potresti un attimo spiegarmelo oppure farmi vedere come potrei impostare il form con javascript?

      postato in Coding
      M
      marckh
    • Eseguire un totale all'interno di un form

      Ciao ragazzi,
      il problema è questo. Ho un form che permette ad un utente di inserire dei biglietti in un carrello tramite un form. Il codice del form è il seguente:

      [PHP]
      <?php
      // fai partire la connessione al db
      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");
      //imposti la query per vedere la disponibilità
      if(empty($_GET["id"])){
      echo"Non hai selezionato nulla";
      }
      else{
      $query= "SELECT * FROM eventi WHERE event_id='".$_GET['id']."'";
      $select=mysql_query($query) or die("Query fallita");
      // parte il ciclo che fara solo un giro e basta
      while($row = mysql_fetch_array($select))
      {
      if ($row['disponibilita']==0)
      {
      echo "
      <table>
      <tr>
      <td><div>Prezzo</div></td>
      <td><div>Qtà</div></td>
      <td><div>Totale</div></td>
      </tr>
      <tr>
      <td colspan='4'> </td>
      </tr>
      <tr>
      <td>
      $row[prezzo]</td>
      <td><select name='quantita'>
      <option value='0'>0</option>
      <option value='1'>1</option>
      <option value='2'>2</option>
      <option value='3'>3</option>
      <option value='4'>4</option>
      <option value='5'>5</option>
      <option value='6'>6</option>
      </select></td>
      <td/>        </tr>
      <tr>
      <td colspan='5'> </td>
      </tr>
      </table>
      </form> ";
      }
      else
      {

              echo" 
                  <table> 
                      <tr> 
                        <td><div>Disponibilità</div></td> 
                        <td><div>Prezzo</div></td> 
                        <td><div>Qtà</div></td> 
                        <td><div>Totale</div></td> 
                      </tr> 
                      <tr> 
                        <td colspan='5'> </td> 
                      </tr> 
                      <tr> 
                        <td> C'&egrave; ancora disponibilit&agrave;</td> 
                        <td> 
                          $row[prezzo]</td> 
                        <td><select name='quantita'> 
                            <option value='0'>0</option> 
                            <option value='1'>1</option> 
                            <option value='2'>2</option> 
                            <option value='3'>3</option> 
                            <option value='4'>4</option> 
                            <option value='5'>5</option> 
                            <option value='6'>6</option> 
                          </select></td> 
                      <td>input type='text' name='totale' value=''</td> 
                        <td/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tr> 
                      <tr> 
                        <td colspan='5'> </td> 
                      </tr> 
                    </table> 
              <input type='submit' class='button' value='AGGIUNGI AL CARRELLO'/></form> 
               
              "; 
           
          } 
           }  
      } 
      

      ?>
      [/PHP]

      Come potete vedere il form valuta la disponibilità di biglietti. Se ce ne sono allora viene stampata la tabella con scritto "c'è ancora dispobilità" e vari campi, tra cui il prezzo, la scelta della quantità da acquistare ed il totale. Il prezzo viene estratto dalla tabella eventi, così come il valore della disponibilità. Quel che vorrei fare è questo. Nel campo totale fare in modo che si faccia la moltiplicazione tra il numero di biglietti scelti e il prezzo per singolo biglietto, in modo appunto da ottenere un totale. In questo modo il valore del totale, tramite il submit, viene passato ad una tabella dal nome carrello, ove vi sono i vari campi relativi agli acquisti effettuati dal cliente. Spero di aver spiegato bene il quesito.

      E' fattibile? Come si potrebbe fare?

      postato in Coding
      M
      marckh