Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    31

    query parametrica da array exploso da stringa....

    ciao a tutti,
    il pb credo sia semplice ma mi sto ammazzando con gli apici...

    da un app flash devo inserire varia roba su varie tabelle, per cui mi sono scritto un unico php che riceve array sotto forma di stringhe e poi esplode:

    Codice PHP:
    $table $_REQUEST['table'];
    $campi $_REQUEST['campi'];
    $valori $_REQUEST['valori'];

    $campiArray explode("|"$campi);
    $valoriArray explode("|"$valori); 
    quindi cerco di comporre la query string così (lo so, è grezza forte, ma sono una schiappa in php):

    Codice PHP:
    $appoCampi "";

    foreach (
    $campiArray as $i => $value) {
        if(
    $i count($campiArray)-1){
            
    $appoCampi .= " `" $value "` ,";
        }else{
            
    $appoCampi .= " `" $value "` ";
        }
        
    }

    $appoValori "";

    foreach (
    $valoriArray as $a => $value) {
        if(
    $a count($valoriArray)-1){
            
    $appoValori .= " '" $value "' ,";
        }else{
            
    $appoValori .= " '" $value "'";
        }
        
    }


    $query "INSERT INTO `" $table "` ( " $appoCampi " ) VALUES ( " $appoValori " ) "

    ehm... tra apici dritti e storti non ci sto capendo nulla. sto tentando i vari casi ma penso che dipenda dal fatto che non so come php parsera la roba...

    se qualcuno sa dove sbaglio... grazie di cuore!
    sono un nerd, ma solo per gli aspetti non tecnologici.

  2. #2

    Hai messo apici in ogni dove ...
    I nomi delle tabelle e dei loro campi non hanno bisogno di apici, solo i valori se sono testuali devono averli.

    Codice PHP:
    $appoCampi ""

    foreach (
    $campiArray as $i => $value) { 
        if(
    $i count($campiArray)-1){ 
            
    $appoCampi .= $value ","
        }else{ 
            
    $appoCampi .= $value ;
        } 
         


    $appoValori ""

    foreach (
    $valoriArray as $a => $value) { 
        if(
    $a count($valoriArray)-1){ 
            
    $appoValori .= " '" $value "' ,"
        }else{ 
            
    $appoValori .= " '" $value "'"
        } 
         



    $query "INSERT INTO  $table (  $appoCampi ) VALUES (  $appoValori  ) "
    ***************************
    Non può piovere per sempre...
    ***************************

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    31
    ciao luca, grazie della prontezza,

    mah ti dirò, sul mySQL di Aruba che uso io, se non metto gli apici ` non mi vede nè nomi di tabella nè campi...

    ho provato la tua soluzione ma dà errore e non posso fare un error retrieve dalla mia app

    e poi una domanda:
    ma questa forma

    Codice PHP:
    $query "INSERT INTO  $table (  $appoCampi ) VALUES (  $appoValori  ) "
    non è solo una stringa? voglio dire, scritto così non sto passando "$table" (stringa) invece che $table (var)?

    ciao
    stefano
    sono un nerd, ma solo per gli aspetti non tecnologici.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    31
    scusa ritratto tutto. funziona come dici tu.

    grazie enormi grazie, stavo diventando scemo...
    ciao
    sono un nerd, ma solo per gli aspetti non tecnologici.

  5. #5
    Originariamente inviato da stv
    scusa ritratto tutto. funziona come dici tu.

    grazie enormi grazie, stavo diventando scemo...
    ciao
    Ma figurati, siamo qui apposta, se si riesce ci si aiuta volentieri, specie se c'è la volontà di imparare... tutti abbiamo cominciato da 0!

    Il bello di php è proprio che per concatenare le stringhe spesso puoi utilizzare le variabili direttamente dentro la stringa, senza bisogno di mettere apici, punti, virgolette, ecc ... come negli altri linguaggi

    Ciao
    ***************************
    Non può piovere per sempre...
    ***************************

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.