2016-07-19 9 views
2

Ich habe ein Array der Namen meiner POST-Variablen zu verwenden, wenn ich eine Zeile in meiner Datenbank aktualisieren.Speichern _POST-Werte in ein Array

$jobs = array("proposal_id", 
       "will_provide",   
       "general_scope",   
       "per_bid",    
       "job_type"); 

Mit diesem Stil meine Tabelle heißt Jobs und jeder Wert im Array ist eine Spalte ID.

Ich möchte dieses Array bearbeiten, so dass jedes Element (Spalte id) enthält einen einzigen _POST Wert

Dann habe ich eine Funktion, die die Variablen verwendet allgemeine Abfragen zu erstellen.

function save_data($jobs) { 

     foreach ($jobs as $job) 
     { 

      $job[$job[$i]] = _$Post[$job]; 

       or 

      Table_name[column] = cell value; 

      ... 
      ... 
      ... 

Ich möchte $ Werte in die POST-Variablen können, zugeordnet speichern. So etwas wie

Zum Beispiel, wenn ich würde manuell um dieses Array zu erstellen, es wie

$jobs = array('proposal_id' => '12345678','title_of_project' => 'aTitle','creator' => 'aUser','last_modified' => '0000-00-00','date_created' => '0000-00-00','price' =>'1000'); 
+4

'$ Jobs als $ Jobs 'sollte' $ jobs als $ job' sein. – Ghost

+2

Wie @Ghost sagte, sollten Sie die in der for-Anweisung verwendeten '$ jobs 'auf' $ job 'setzen sowie die zweite Instanz von' $ jobs 'in der for-Schleife reparieren "$ Job" sein. Dies kann Ihr Problem beheben, wenn es nicht möglich ist, können Sie vielleicht erklären, was Sie auf andere Weise wollen oder ein Beispiel geben, was Sie wollen. – ComputerLocus

+0

In Ihrer letzten Codezeile, was ist '$ values'? Der Rest Ihres Codes verwendet es nicht. Und wenn Sie in Ihrer Schleife den Wert von '$ _POST' erhalten und in '$ value' setzen, was haben Sie mit' $ value' vor? Was du willst, ist nicht klar. – BeetleJuice

Antwort

1

Dies sollte aussehen würde, was Sie suchen:

$jobs = array("proposal_id", 
       "will_provide",   
       "general_scope",   
       "per_bid",    
       "job_type"); 

$jobValues = array(); 
foreach($jobs as $job) { 
    $jobValues[] = isset($_POST[$job]) ? $_POST[$job] : null; 
} 

$jobs = array_combine($jobs, $jobValues); 
+0

Ok, wäre es möglich, 'Vorschlags-ID' oder eine andere Variable in meinem $ Job-Array als mein Index anstelle von $ i zu verwenden. –

+1

Sie können es beliebig ändern, indem Sie eine beliebige Variable als Schlüssel '$ jobResult 'verwenden. – ComputerLocus

+0

Das ist wirklich nah an dem, was ich denke. Grundsätzlich habe ich meine Arrays eingerichtet, da der Name des Arrays meine db_table ist und jeder Wert im Array db_table eine Spalte in meiner Datenbank ist. Ich versuche diese Syntax beizubehalten, während ich die Variable _post in jede Spalte einfüge. –

Verwandte Themen