Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: query complessa

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    query complessa

    ciao a tutti,

    ho la necessita di fare una query un pò complessa,

    io passo a php una variabile trammite post cosi
    codice:
    id=548|547|64|498|499|500|501|502|
    da php prendo la variabile e la separo cosi
    codice:
    if(!empty($_POST['id']))
        {
    
            $id = $_POST['id'];
    		$arr = explode('|',$id);  
    		foreach ($arr as $k => $v) {  
    		  if ( is_numeric( $v ) ) 
    		    { 
    		      $arr[$k] = "'$v'";  
    		    } 
    		}  
    		$id = implode(',',$arr);
    se provo a stampare $id ottengo
    codice:
    '548','547','64','498','499','500','501','502'
    adesso dovrei aggiungere una nuova riga alla tabella identica all'id che ho trovato questa operazione dovrebbe essere ripetuta tante volte quante sono gli $id

    è possibile fare una cosa del genere?


    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    foreach(array_expression as $value) {
      $query="insert into tabella (id) VALUES ('".$value."')";
      $result=mysql_query($query);
      if(!$result) {
        echo "errore sulla query :".$query."
    ";
        echo mysql_error();
      }
    }
    ciaps

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille,

    ho fatto cosi ma mi dà questo errore nella riga in grassetto :master:

    codice:
    Warning: Invalid argument supplied for foreach()
    codice:
    <?php
    require_once('../Connections/conf.inc.php');
    
    if(!empty($_GET['id']))
        {
    
            $id = $_POST['id'];
    		$arr = explode('|',$id);  
    		foreach ($arr as $k => $v) {  
    		  if ( is_numeric( $v ) ) 
    		    { 
    		      $arr[$k] = "'$v'";  
    		    } 
    		}  
    		$id = implode(',',$arr);  
    		echo $id; 
    
    	foreach(array_expression as $value) {
    
    	  $query="insert into tabella (id) VALUES ('".$value."')";
    
    	  $result=mysql_query($query);
    
    	  if(!$result) {
    
    		    echo "errore sulla query :".$query."
    ";
    
    		    echo mysql_error();
    
    		  }
    
    	 mysql_close($conn);
    
    	}
    
    }
    ?>

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    evviva il copia incolla selvaggio

    usa l'array ottenuto con l'explode, a che ti serve farlo ridiventare una stringa?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    avevo provato cosi ma mi dà lo stesso errore allora ho rimesso come hai messo tu

    codice:
    foreach(array_expression as $id) {

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ops scusa

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    niente anche cosi dà errore

    codice:
    foreach($id as $value) {

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ok adesso va

    codice:
    		$id = implode(',',$arr);  
    
    	foreach($arr as $id) {
    grazie mille, ho studiato qui

    una cosa sola se non ti disturbo..

    la mia riga ad esempio è cosi

    id = 100
    campo = "ciao"
    campo1 = "20"
    campo2 = "50"

    adesso la devo copiare ma devo settare il valore di campo1 come quello di campo2 e campo2 a 0 quindi la nuova verrà

    id = 180
    campo = "ciao"
    campo1 = "50"
    campo2 = "0"
    posso farlo??


  9. #9
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ho fatto cosi
    codice:
    <?php
    require_once('../Connections/conf.inc.php');
    
    if(!empty($_GET['id']))
        {
    
            $id = $_GET['id'];
    		$arr = explode('|',$id);  
    		foreach ($arr as $k => $v) {  
    		  if ( is_numeric( $v ) ) 
    		    { 
    		      $arr[$k] = "'$v'";  
    		    } 
    		}  
    		$id = implode(',',$arr);  
    
    	foreach($arr as $id) {
    		
    		mysql_select_db($conn);
    		$query_Recordset1 = "select * from scarico where ID = ($id)";
    		$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error());
    		$totalRows_Recordset1 = mysql_num_rows($Recordset1);
    
    		$capacita = $row_Recordset1['capacita'];
            $fornitore = $row_Recordset1['fornitore'];
            $prodotto = $row_Recordset1['prodotto'];
            $descrizione = $row_Recordset1['descrizione'];
    		$quantita = $row_Recordset1['quantita'];
    		$prezzo = $row_Recordset1['prezzo'];
    		$categoria = $row_Recordset1['categoria'];
    		$riferimento = $row_Recordset1['riferimento'];
    		$marca = $row_Recordset1['marca'];
    		$codice = $row_Recordset1['codice'];
            $datacarico = $row_Recordset1['datascarico'];
            $idreparto = $row_Recordset1['idreparto'];
            $residuo = "0";
            $scarico = $row_Recordset1['residuo'];
            $datascarico = $row_Recordset1['datascarico'];
    		
    		echo $capacita;
    		$query = mysql_query($row_Recordset1);	
    
            $query =  "INSERT INTO scarico (fornitore, prodotto, descrizione, quantita,prezzo,categoria,capacita,riferimento,codice,marca,datacarico,idreparto,residuo,scarico,datascarico)
                        VALUES ('$fornitore', '$prodotto', '$descrizione','$quantita','$prezzo','$categoria','$capacita','$riferimento','$codice','$marca','$datacarico','$idreparto','$residuo','$scarico','$datascarico')";
    
    	  $result=mysql_query($query);
    
    	  if(!$result) {
    
    		    echo "errore sulla query :".$query."
    ";
    
    		    echo mysql_error();
    
    		  }
    
    	
    
    	}
    
    }
    ?>
    ma i campi vengono vuoti :master:

  10. #10
    fai la prima query ... conti le righe e poi non estrai un belino a vela....

    prova con la release rilasciata a Lourdes


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.