Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

Array mit vielen daten

Fragen zum Thema PHP können hier gestellt werden

Moderatoren: Basti, Guillermo, Andreas W.

Array mit vielen daten

Beitragvon August_rush am 15.08.2011, 00:29

Hallo, ich bastel gerade wieder an einem neuen script und habe folgendes problem:

Ich hab in der Datenbank ein Haufen Daten, die immer irgendwie zusammen gehören.

Jetzt möchte ich bestimmte Daten in eins oder verschiedene arrays laden.

Das sieht ungefähr so aus:
Code: Alles auswählen
...
//wettkampf id's holen
   $wettkampfidarr = array();
   
   $ii = "1";
   
               while($ii <= "14") {
      
   $result5 = mysql_query("SELECT * FROM svu11_wettkampf WHERE samm_id='".$samm_id."' AND wettkampf_jahr ='".$jahr."' AND wettkampf_nr='".$ii."'");
                $data=mysql_fetch_assoc($result5);
               
               $wettkampfidarr = $data['wettkampf_id'];
            
      $ii++;
      }
      
   //ergebnisse holen
   $schutzergidarr = array( ); // ergebnis id
   
   $schutzergbnarr = array();// Ergebnis
   
   $schutzergewarr = array(); // Ergebnis gewertet
   
   $schutzwettkarr = array(); // Wettkampf id
   
   $ii = "1";
   $iii = "1";
            while($ii <= "15") {
   
            if($schutzearr[$ii] != "0") {
               while($iii <= "14") {
   $result5 = mysql_query("SELECT * FROM svu11_ergebnisse WHERE samm_id='".$samm_id."' AND schuetze_id='".$schutzearr[$ii]."' AND wettkampf_id='".$wettkampfidarr[$iii]."'");
               while($data=mysql_fetch_assoc($result5)) {
               
               $schutzergidarr[$ii] = $data['ergebnis_id'];
               $schutzergbnarr[$ii] = $data['ergebnis'];
               $schutzergewarr[$ii] = $data['gewertet'];
               $schutzwettkarr[$ii] = $data['wettkampf_id'];
               
               }
               $iii++;
               }
   }
   $ii++;
   }
....


Irgendwie funktioniert das nicht. Im prinzip handelt sich um ein Script, mit dem ich die Wettkampfergebnisse eines Schützenvereins anzeigen möchte. vielleicht ist es auch viel einfacher möglich und nicht mit den 5 arrays. Ich komm net weiter.. ich möchte dann zum anzeigen einfach ne Schleife erstellen, und da dann alle infos für die Wettkämpfe ausgegen.

Ich bin total am verzweifeln, vielleicht könnt ihr mir nen tipp geben.
Danke
Christian
August_rush
Mitglied
 
Beiträge: 27
Registriert: 04.01.2011, 19:51
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: Array mit vielen daten

Beitragvon splasch am 15.08.2011, 11:25

August_rush hat geschrieben:Hallo, ich bastel gerade wieder an einem neuen script und habe folgendes problem:

Ich hab in der Datenbank ein Haufen Daten, die immer irgendwie zusammen gehören.

Jetzt möchte ich bestimmte Daten in eins oder verschiedene arrays laden.

Irgendwie funktioniert das nicht. Im prinzip handelt sich um ein Script, mit dem ich die Wettkampfergebnisse eines Schützenvereins anzeigen möchte. vielleicht ist es auch viel einfacher möglich und nicht mit den 5 arrays. Ich komm net weiter.. ich möchte dann zum anzeigen einfach ne Schleife erstellen, und da dann alle infos für die Wettkämpfe ausgegen.

Ich bin total am verzweifeln, vielleicht könnt ihr mir nen tipp geben.
Danke
Christian


Ich denke mal hier ist dein Ansatz komplett falsch du brauchst keine 5 oder mehr Arrays. Um eine Wettkampf Ergebniss oder auch Rangliste auszugeben reicht es aus wenn die Daten einmal von der Datenbank abgefragt werden und ausgeben werden.
Egal über wieviele Tabellen nun jetzt die Abfrage läuft. Das von dir Beschrieben Problem ist eine reine Sql Aufgabe.

Hier zeigt es sich nun ob du bei der Datenbank entwicklung richtig gearbeitet hast und die Beziehungen 1/n ode n/m oder 1/1 richtig gesetzt hast.

Wenn du uns dein Er Diagram Postet und sagst welche Daten du daraus haben willst können wir für dich den Sql Befehl zusammen stellen.

Links zur Datenbank Entwicklung findest unter:
http://reeg.junetz.de/DSP/node7.html
http://v.hdm-stuttgart.de/~riekert/lehr ... /index.htm
http://www.phpwelt.de/tutorials/tutprint.php?tid=52
http://www.little-idiot.de/mysql/mysql-254.html
http://www.dfpug.de/konf%5Ckonf_1998%5C ... d_sql2.htm
http://www.sql-und-xml.de/sql-tutorial/ ... typen.html

Sollte für den Anfang zum lehrnen genug Infos sein. Falls du dich noch nicht mit der Datenbank Entwicklung auskennst!

Mfg Splasch
splasch
Mitglied
 
Beiträge: 31
Registriert: 18.10.2007, 23:07

Re: Array mit vielen daten

Beitragvon August_rush am 15.08.2011, 20:24

Hi, danke für den Tipp.. ich werde mal versuchen selber draufzukommen, Learning by doing..
August_rush
Mitglied
 
Beiträge: 27
Registriert: 04.01.2011, 19:51

Re: Array mit vielen daten

Beitragvon splasch am 15.08.2011, 21:16

August_rush hat geschrieben:Hi, danke für den Tipp.. ich werde mal versuchen selber draufzukommen, Learning by doing..


Zum erraten gibst dabei eigentlich nichts. Das ist reines Fachwissen nicht mehr nicht weniger.
Da du uns das Er Diagramm nicht gezeigt hast kann ich dir nur ein Beispiel anbieten aus einem alten Projekt.

Hier mal so eine Highscore Ausgabe sollte deiner Aufgabenstellung ähnlich sein.

Code: Alles auswählen
<?
$page   = new Page(18,$menge);

$runde  = $page->start($seite);
$gilden = "";

$abfrage = "SELECT  
             username,gild_name,lvl,insgexp,status,rasse
            FROM 
             accounts
             LEFT JOIN gilden_user ON accounts.user_id = gilden_user.f_userid 
             LEFT JOIN gilden ON gilden_user.f_gildenid = gilden.gilden_id,
             game_char
            WHERE
             user_id=game_char.f_userid 
             ORDER BY insgexp DESC LIMIT "
.$page->start($seite).",".$page->getZeilen();

$ergebnis = mysql_query($abfrage);

while(
$row = mysql_fetch_object($ergebnis))
{
 $runde++;
 $username1 = ucfirst($row->username);
 $lvl       = $row->lvl;
 $exp5      = $row->insgexp;
 $status    = $row->status;
 $gilden    = $row->gild_name;
 $rasse     = $row->rasse;
  

  if 
($status == 1)
  {$status = 'user_online.gif';} else {$status = 'user_offline.gif';}
  
  if
($username1==ucfirst($_SESSION['user']))
  {
   $liste['username1'][] = "<b>".$username1."</b>";
   $liste['runde'][]     = "<b>".$runde."</b>";
   $liste['gilden'][]    = "<b>".$gilden."</b>";
   $liste['rasse'][]     = "<b>".$rasse."</b>";
   $liste['lvl'][]       = "<b>".$lvl."</b>";
   $liste['exp5'][]      = "<b>".$exp5."</b>";
  }
  else
  
{
   $liste['username1'][] = $username1;
   $liste['runde'][]     = $runde;
   $liste['gilden'][]    = $gilden;
   $liste['rasse'][]     = $rasse;
   $liste['lvl'][]       = $lvl;
   $liste['exp5'][]      = $exp5;
  }
  
  $liste
['status'][]     = $status;    
}#end while
 


Wie du am Beispiel sehen kannst werden die Information aus 4 verschiedenen Tabellen geholt für die Listen Ausgabe.

Mfg Splasch
splasch
Mitglied
 
Beiträge: 31
Registriert: 18.10.2007, 23:07


Zurück zu PHP

Wer ist online?

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