Mal wieder PHP <-> MySql

spikaner

Quereinsteiger @ php
Habe mir ein script gebastellt
PHP:
for ($i = 1; $i <= $modulemax; $i++)
    {
    $sql_query_string = "SELECT '".$modul.$i."' FROM benutzerdaten WHERE Id like '".$_SESSION["user_id"]."'";
    $ergebnis = mysql_query($sql_query_string);
    array("module" => array(".$i." => ".$ergebnis."); 
    }
$modul und $modulemax werden vorher durch eine db Abfrage abgefragt,
jetzt die Frage. Kann man soetwas besser gestallten ohne z.b. wenn $modulemax 2000 ist macht das hier ja auch 2000 querys.

Wobei noch hinzuzufügen wäre das jedes Feld einen Wert enthalten kann aber nicht muß.

mfg Spikaner
 
PHP:
$query = 'SELECT "'.$modul.implode('", "'.$modul, range(1, $modulemax)).'" FROM benutzerdaten WHERE Id LIKE "'.$_SESSION['user_id'].'"';
Damit erhältst du allerdings nur $modulemax Zeichenketten der Kombination $moduln mit 1 < n < $modulemax.
Denn Spaltenbezeichner werden eigentlich nicht in Anführungszeichen geschrieben, wenn es das war was du wolltest.
 
Hi

mach doch einfach
PHP:
$query = "SELECT * FROM benutzerdaten WHERE Id like '".$_SESSION["user_id"]."'"; 
$res = mysql_query($query);

while ($row = mysql_fetch_assoc($res) ) {
   for ($i = 1; $i < modulmax; $i++) {
      $modul = row[$modul.$i];
   }
}


lg
 
PHP:
$query = 'SELECT "'.$modul.implode('", "'.$modul, range(1, $modulemax)).'" FROM benutzerdaten WHERE Id LIKE "'.$_SESSION['user_id'].'"';
Damit erhältst du allerdings nur $modulemax Zeichenketten der Kombination $moduln mit 1 < n < $modulemax.
Denn Spaltenbezeichner werden eigentlich nicht in Anführungszeichen geschrieben, wenn es das war was du wolltest.

Funktioniert das querry auch wenn aufjedenfall das array erstellt werden soll 1 = "82" 2 = "" 3 = "67" usw...
 
Zurück