anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 18 Apr, 2019 14:09

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So 24 Jun, 2012 10:13 
Offline
Newbie

Registriert: So 24 Jun, 2012 10:00
Beiträge: 2
Hallo,

ich bin seid langem mal wieder, in die Versuchung gekommen, etwas zu schreiben.
dabei habe ich das Problem, das die Daten die ich per SQL aus der Datenbank auslese, irgendwie nicht in den array(); eingearbeitet werden..

hier mal der kleine Code

PHP:
$sql2 = "SELECT id, name FROM tabelle ORDER BY id";
$res2 = db_query($sql2);

$loc = array();
$ic = 1;
while ($rowloc = db_fetch_assoc($res2)){
$loc[$ic] = $rowloc[name];
$ic++;
}
output("".$loc."");


und später sollte es dann in einem output wiedergegeben werden:

PHP:
output("".$loc[$row['loc']]."");



Mittlerweile habe ich schon so einiges Probiert und auch per google nach möglichen Lösungen gesucht, jedoch bin ich dabei nicht findig geworden.

Ich hoffe das ich hier wie früher auf tatkräftige, freundliche Hilfe treffe.

Lg, Daiisu~


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 24 Jun, 2012 10:34 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 01 Sep, 2008 10:29
Beiträge: 99
Wohnort: Niedersachsen
Geschlecht: Männlich
LoGD: http://www.sotbd.de/about.php?op=source
Ich hab deinen Code einfach mal ausprobiert und als Beispiel die Accountstabelle ausgelesen, funktioniert bei mir soweit alles ohne Probleme, die Werte werden korrekt in das Array geschrieben. Das einzigste Manko war die Ausgab.

Code:
$sql2 = "SELECT acctid, name FROM accounts ORDER BY acctid";
$res2 = db_query($sql2);
   
$loc = array();   
$ic = 1;
while ($rowloc = db_fetch_assoc($res2)) {
   $loc[$ic] = $rowloc['name'];   
   $ic++; }
output(dump_item($loc));


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 24 Jun, 2012 11:01 
Offline
Newbie

Registriert: So 24 Jun, 2012 10:00
Beiträge: 2
hmmm.... na ok, dann schonmal danke für die Überprüfung :)

Dann schau ich nochmal in die Datenbank ob die Tabelle irgendwo
vielleicht nich sauber is oder ich da drin was falsches erstellt habe ^^

Thx & Lg, Daiisu~


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 24 Jun, 2012 20:34 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 124
Code:
$loc = array();
[...]
output("".$loc."");



Das gibt aus "Array".

Entweder du dumpst das array komplet (var_dump,print_r, usw.) oder du gibst es über eien Schleife aus :)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr 13 Jul, 2012 06:45 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Ich habe mir Deinen Code im ersten Beitrag mal angesehen und frage mich, wieso Du zwei Arrays initiierst? Mit db_fetch_assoc wird das erste Array erstellt und im Nachhinein lädst Du die Daten noch mal in ein weiteres Array ($loc). $loc ist hier demnach total überflüssig und kann somit 'gelöscht' werden. Anstelle von $loc kannst Du schreiben:

Code:
output($rowloc['name'].'`n');


Bitte beachte, dass Du den Wert innerhalb der eckigen Klammern immer mit Single-Quotes versiehst, da im Hintergrund somit ein Fehler definiert wird der durch error_report allerdings nicht sichtbar ist.

Desweiteren kann dein Array auch gar nichts ausgeben, da Du dem Array-Index jeweils eine Zahl zuweißt, diesen aber mit dem entsprechendem 'loc' auslesen willst.

Code:
$loc[$ic] = $rowloc[name];


-

Code:
output("".$loc[$row['loc']]."");


$row['loc'] müsste hier der entsprechende numerische Wert des Indexes sein. (1,2,3,4.. etc.)

Da Du die Anzahl der Indexe allerdings nicht aus der Luft greifen kannst, empfiehlt es sich hier die Funktion 'count' zu benutzen. (Wie der Name schon verrät, zählt (Counter) die Funktion count die Elemente eines Arrays.)

Code:
$arr = array( 0 => 'ANPERA', 1 => 'Dragonprime', 2 => 'LotGD', 3 => 'Alice'); # Dein Chatbot ist nicht in Vergessenheit geraten, Anp.
$myCounter = count($arr);

echo $myCounter; # Oder echo count($arr);


Ausgabe wäre 4. Da wir das Array aber mit einer null begonnen haben und die Werte auch ausgeben wollen, ziehen wir immer einen bestimmten Wert von den numerischen Indexen ab.

(Benutze oben genanntes Beispiel.)
Code:
$i = 0;
for( $i = 0; $i < $myCounter; $i++ ){

     echo $arr[$i-1].'<br />';

}


Alternativ kannst Du das Array auch durch eine foreach Schleife ausgeben lassen.

Code:
foreach( $arr as $key => $val ) {
   
    echo $key.' ist gleich '.$val.'<br />';

}


Hab bestimmt nen Fehler reingehauen, so müde wie ich bin. :D

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum