PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Array splitten und gesplittetes mit Datenbank abgleichen (http://www.selfphp.de/forum/showthread.php?t=24929)

Potator04 10.04.2013 12:07:09

Array splitten und gesplittetes mit Datenbank abgleichen
 
Hallo zusammen,

vielleicht kann und mag mir jemand weiterhelfen.

Ich ziehe per _GET eine Nummer (z.B. 102030), die aus mehreren Ziffern besteht, sie nenne ich $long_id.
Diese Nummer (id) soll nun geteilt werden (in 10 20 30 usw.). Ich hoffe ich liege damit richtig sie mit str_split($long_id, 2) zu teilen, womit ja ein Array erstellt wird.
Diese zweistelligen id´s haben wiederum in einer Datenbank die passenden id_namen hinterlegt.
Nun möchte ich dass für die long_id jeweils alle Namen, der Reihe nach, angezeigt werden.
Es klappt bisher nur für die erste id, die anderen drei werden nicht mit angezeigt.

Der übersicht halber hier der Code:
(Die Datenbank wird vor dem Code eingebunden)

PHP-Code:

$long_id =$_GET[long_id];

if(
$_SESSION['test']) {
    foreach(
$_SESSION['test'] as $split_id => $number) {
          
           
$split_id str_split($long_id2);
           
$get_test sprintf("SELECT id, id_name FROM test WHERE id = %d;"$split_id);
           
$result mysql_query($get_test);

           if(
$result 0) {
                
                  list(
$id$id_name) = mysql_fetch_row($result);
                
                  echo 
$id_name;
}
}
} else {
       echo 
"Test ist leer";



raiguen 11.04.2013 20:04:52

AW: Array splitten und gesplittetes mit Datenbank abgleichen
 
Dir ist schon klar, dass das Datenbank-Design nicht das Beste ist!?

Zitat:

mit str_split($long_id, 2) zu teilen, womit ja ein Array erstellt wird.
ist soweit schon mal richtig. Aber in Deiner Ausführung hast Du das Array nicht berücksichtigt.
Ich denke, so wird das was:
PHP-Code:

$long_id =$_GET[long_id];
$split_id str_split($long_id2);
foreach(
$split_id as $id)
{
           
$get_test sprintf("SELECT id, id_name FROM test WHERE id = %d;"$id);
           
$result mysql_query($get_test);
...
}

//-- andere möglichkeit:
$splitted_string implode($split_id',');
           
$get_test sprintf("SELECT id, id_name FROM test WHERE id IN (%s);"$splitted_string);
           
$result mysql_query($get_test);
... 



Alle Zeitangaben in WEZ +2. Es ist jetzt 18:12:58 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.