Problem mit array_combine

Ich vermute du liest beides aus der Datenbank aus?
Und nutzt dafür eine Schleife?

Dann wäre die Schleife der richtige Ort dafür...

PHP:
while( ... )
{
  $birthdays[$date][] = $user;
}

Sowas in die Richtung.
 
ok jetzt bin ich ganz verwirrt,...
deshalb mal mein ganzes script,...

PHP:
$user = array("Hans", "Peter", "Fritz", "Adolf", "Norbert", "Ulrich");
$bdat = array("1986-03-03", "1977-03-14", "1982-12-03", "1993-12-13", "1956-06-15", "1982-12-03");

$usbd = array_combine($bdat, $user);

echo $usbd["1982-12-03"];

an einer anderen stelle convertiere ich die geburtsdaten alle mit einen string um (in ein neues array) das alle zukünftig geburtstag haben also alle vergangenen in 2010 und alle zukünftigen in 2009,...

da entsteht dann ein neue virtuelles array

PHP:
$bdatn = array("2010-03-03", "2010-03-14", "2009-12-03", "2009-12-13", "2010-06-15", "2009-12-03");

dann liste ich einfach die nächsten 30 tage auf

PHP:
  list ($ty, $tm, $td) = split('[-]', date('Y-m-d'));

for($i = 0; $i < 30; $i++){
$ltdate = date("Y-m-d", mktime(0, 0, 0, $tm-3, $td+$i, $ty));

echo $ltdate;

}

diese daten verwende ich dann in meinem combinierten array,...

PHP:
$usbdn = array_combine($bdatn, $user);


  list ($ty, $tm, $td) = split('[-]', date('Y-m-d'));

for($i = 0; $i < 300; $i++){
$ltdate = date("Y-m-d", mktime(0, 0, 0, $tm-3, $td+$i, $ty));

echo $usbdn[$ltdate];

}


so mal ganz grob,...
*der ulrich wird immer ignoriert :(*

bin aber gerne bereit diese lösung über den haufen zu werfen wenn es was schöneres gibt,...

ich hab mir des deshalb ausgesucht weil ich 7 SQL tabellen kombinieren will und ich mir dann leichter tue wenn ich anstatt virtuelle SQL tabellen erstelle, einfach arrays verwende.

außerdem fürhren bekannterweiße ja viele wege nach ROM,...
oder bin ich da in einer Sackgasse?
 
Es führen viele Wege nach Rom, nur ist der Weg von Paris nach Rom via Moskau nicht so sinnvoll wie über Wien. Was ich damit sagen will ist, dass es bessere und schlechtere Möglichkeiten gibt ein Problem zu lösen. Wenn du uns genauer erklärst, was du den jetzt vorhast, dann könnten wir dir auch bei deinen MySQL-Abfragen helfen in der Hoffnung darauf, dass man deine Abfragen verbessern kann und dann dein Problem nicht mehr oder wesentlich kleiner ist.
 
Hi,

ich sach mal so,...

ein teil der daten wird so importiert,...

PHP:
$sql = "select * from account";
$result = mysql_query($sqlgb);



$username = array();
$geburtsdatum = array();
while ($row = mysql_fetch_array($result))
{


  array_push($username, htmlentities($row[username]));
  array_push($geburtsdatum, htmlentities($row[geburtsdatum]));

}

folgendes Problem hat sich jetzt dazu aufgetan dasich noch ein paar weitere Daten von arrays beziehen möchte,...
das heißt das ich auch gerne bei den array bleiben möchte,...
die frage ist jetzt nur ob ich mit "array_combine" weiter komme oder ob es da was anderes gibt,...

Danke für eure Hilfe
 
Das passt doch wunderbar ;)

PHP:
$sql = "select * from account";
$result = mysql_query($sqlgb);

$birthdays = array();
while ($row = mysql_fetch_array($result))
{
  $birthdays[htmlentities($row['geburtsdatum'])][] = htmlentities($row['username']);
}

Und schon ist $birthdays ein mehrdimensionaler Array der pro Datum alle Namen der Geburtstagskinder beinhaltet ;)
 
Nein, solche Kettenanweisungen sind nicht erlaubt, aber es gäbe da noch eine andere Möglichkeit.

PHP:
$sql = "select * from account";
$result = mysql_query($sqlgb);

$birthdays = array();
$i = 0;
while ($row = mysql_fetch_array($result))
{
  $birthdays[htmlentities($row['geburtsdatum'])][$i]['name'] = htmlentities($row['username']);
  $birthdays[htmlentities($row['geburtsdatum'])][$i]['nocheine'] = htmlentities($row['nocheine']);
  $i++;
}
 
Zurück