php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.07.2009, 15:39  
Neuer Benutzer
 
Registriert seit: 26.07.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
AXELB befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] function getData() in while

Halli Hallo,

ich habe ne kleine Frage wo ich leider vor einer Mauer stehe undzwar schreibe ich grad für ein eSport Clan ein CMS. Soweit sogut ist auch fasst fertig nun habe ich aber ein Problem.

Unzwar gebe ich unter Teams die ganzen Member aus in einer Tabellenform über ein Array sodass immer 2 Member nebeneinander stehen. Soweit sogut klappt auch.
________________
| | |
|_______|_______ |
| | |
|_______|_______ |
| | |
|_______|_______ |

Dafür verwende ich die Funktion.

PHP-Code:
function getData()
{
$result mysql_query('SELECT * FROM user ORDER BY ID');
$array = array();
while (
$arraybit mysql_fetch_array($result)) {
$array[] = $arraybit;
}
return 
$array;

Nun ist es aber so, dass es alle Member egal aus welchen Team ausliest und ausgibt. Das möchten die nun aber doch nicht mehr so, sondern die einzelnen Teams gruppieren.

Datenbankaufbau:

user -> Dort drin sind alle Benutzer
member -> dort drin werden die USER ID's mit den TEAM ID's verknüpft
teams -> dort drin sind die einzelnen Teams

Nun dachte ich mir ich geh her und erstelle eine While Schleife mit den Teams.

PHP-Code:
    $teamabfrage "SELECT * FROM teams ORDER BY 'sort'"
    
$teamerg mysql_query($teamabfrage); 
    while(
$team mysql_fetch_object($teamerg))
{
function 
getData()
{
$result mysql_query('SELECT * FROM member WHERE teamid = "$team->ID" ORDER BY userid');
$array = array();
while (
$arraybit mysql_fetch_array($result)) {
$array[] = $arraybit;
}
return 
$array;
}


Jedoch das klappt ja nicht, weil sich die Funktion das anscheinend nicht mag, nun meine Frage an euch wie muss ich die Funktion umbauen, sodass es funktionert nur jeweils im Array nur EIN Team auszugeben.

Ich hab schon vergebens in Google gesucht, leider ohne erfolg.

Ich hoffe ich hab es verständlich erklährt, danke im Vorraus.

lg Alex
AXELB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.07.2009, 15:57  
Neuer Benutzer
 
Benutzerbild von prototype
 
Registriert seit: 13.07.2009
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
prototype befindet sich auf einem aufstrebenden Ast
Standard

Definier die Funktion außerhalb der while-Schleife, verpass ihr den Parameter $teamId, den du dann auch in der SQL-Abfrage verwendest und ruf die Funktion innerhalb der while-Schleife auf, wobei du halt noch die passende Id uebergeben musst.
Und den Rückgabewert der Funktion solltest du dann logischerweise noch abspeichern.
prototype ist offline   Mit Zitat antworten
Alt 26.07.2009, 16:02  
Neuer Benutzer
 
Registriert seit: 26.07.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
AXELB befindet sich auf einem aufstrebenden Ast
Standard

Ich geh mal davon aus du meinst das ungefair so, nichtwar?

Nur leider kommt das noch nicht ganz hin:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR, expecting ')' in /var/www/vhosts/heidtec-gaming.de/httpdocs/functions/team.php on line 20


PHP-Code:
<?php 
echo '<center>
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
      <td height="37" background="./images/contentleiste.png"><strong style="color:#FFFFFF;">&nbsp;&nbsp;&nbsp;&nbsp;>> Team</td>
    </tr>
  </table>
  </center><br>'
;

    echo 
'<center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#CC3300" width="95%" id="AutoNumber1" bgcolor="#FF9393">
            <tr><td valign="top" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;border-left-style: none; border-right-style: solid; border-right: 1px solid #CC3300; border-left-style: solid; border-left: 1px solid #CC3300;border-top-style: solid; border-top: 1px solid #CC3300; border-bottom-style: solid; border-bottom: 1px solid #CC3300"><strong>Achtung: </strong>Diese Seite wird im Moment &uuml;berarbeitet und ist daher nicht komplett verf&uuml;gbar!</td></tr>
            </table></center><br />'
;

//Neu ab Hier

    
$teamabfrage "SELECT * FROM teams ORDER BY sort"
    
$teamerg mysql_query($teamabfrage); 
    
$team mysql_fetch_object($teamerg);

function 
getData($team->ID)
{
$result mysql_query('SELECT * FROM member WHERE teamid = "$team->ID"');
$array = array();
while (
$arraybit mysql_fetch_array($result)) {
$array[] = $arraybit;
}
return 
$array;
}

//Teams Array erstellen

    
while($team mysql_fetch_object($teamerg))
{
echo 
"<img src=\"./images/team/$team->logo\"><br>";

$team_array getData($team->ID);

echo 
"<center><table width=\"100%\" border=\"0\" cellpadding=\"10\" cellspacing=\"10\">";
$rcount 0;
foreach(
$team_array as $team) {
$rcount++;


}

}
//Gesammt Array von Teams

?>
AXELB ist offline   Mit Zitat antworten
Alt 26.07.2009, 16:06  
Erfahrener Benutzer
 
Registriert seit: 10.02.2008
Beiträge: 115
PHP-Kenntnisse:
Fortgeschritten
fritz_07 befindet sich auf einem aufstrebenden Ast
Standard

Irgendwie glaube ich nicht, dass AXELB ein fortgeschrittener PHP-Entwickler ist.
fritz_07 ist offline   Mit Zitat antworten
Alt 26.07.2009, 16:08  
Neuer Benutzer
 
Registriert seit: 26.07.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
AXELB befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fritz_07 Beitrag anzeigen
Irgendwie glaube ich nicht, dass AXELB ein fortgeschrittener PHP-Entwickler ist.
Stimmt habe ja nicht umsonst MURMUR WEB - control it das Hoster Interface für Mumble mit ner DBUS PHP Extension als Brücke zur Server Software geschrieben
AXELB ist offline   Mit Zitat antworten
Alt 26.07.2009, 16:11  
Neuer Benutzer
 
Benutzerbild von prototype
 
Registriert seit: 13.07.2009
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
prototype befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
function getData($team->ID)
{
$result mysql_query('SELECT * FROM member WHERE teamid = "$team->ID"');
$array = array();
while (
$arraybit mysql_fetch_array($result)) {
$array[] = $arraybit;
}
return 
$array;

Tausche
PHP-Code:
$team->ID 
gegen z.B.
PHP-Code:
$teamId 
aus (auch im folgenden SQL-Code) und es sollte funktionieren.
prototype ist offline   Mit Zitat antworten
Alt 26.07.2009, 16:15  
Neuer Benutzer
 
Registriert seit: 26.07.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
AXELB befindet sich auf einem aufstrebenden Ast
Standard

Wie doof bin ich eigendlich, weniger drinken am Samstag Abend

Danke fehler sind weg und ich wollte den ganzen Code schon in die Tonne kloppen.
AXELB ist offline   Mit Zitat antworten
Alt 26.07.2009, 16:18  
Erfahrener Benutzer
 
Registriert seit: 10.02.2008
Beiträge: 115
PHP-Kenntnisse:
Fortgeschritten
fritz_07 befindet sich auf einem aufstrebenden Ast
Standard

Dann lös es so (PHP 5.3):
PHP-Code:

    $teamabfrage 
"SELECT * FROM teams ORDER BY 'sort'"
    
$teamerg mysql_query($teamabfrage); 
$closures = array();
    while(
$team mysql_fetch_object($teamerg))
{
$closures[] = function () use ($team) {
$result mysql_query('SELECT * FROM member WHERE teamid = "$team->ID" ORDER BY userid');
$array = array();
while (
$arraybit mysql_fetch_array($result)) {
$array[] = $arraybit;
}
return 
$array;
};
}
foreach (
$closures as $value$value(); 
Oder so:

PHP-Code:
function getData($id)
{
$result mysql_query('SELECT * FROM member WHERE teamid = "$id" ORDER BY userid');
$array = array();
while (
$arraybit mysql_fetch_array($result)) {
$array[] = $arraybit;
}
return 
$array;
}
$teamabfrage "SELECT * FROM teams ORDER BY 'sort'"
    
$teamerg mysql_query($teamabfrage); 
    while(
$team mysql_fetch_object($teamerg))
{
getData($team->ID);

EDIT: Zu Spät; Entschuldigung, AXELB.
fritz_07 ist offline   Mit Zitat antworten
Alt 26.07.2009, 16:21  
Neuer Benutzer
 
Registriert seit: 26.07.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
AXELB befindet sich auf einem aufstrebenden Ast
Standard

Danke aber funktioniert schon so wie ich das wollte.

Und man weiß ja "never change a running System"

EDIT: Kein Problem ^^ ich bin sicher kein Profi, aber bestimmt auch kein "Anfänger". Man lernt nie aus..
AXELB ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler beim kompilieren von php 5.2.9 malio Server, Hosting und Workstations 11 05.06.2009 18:40
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
[Erledigt] function() djscaleo PHP Tipps 2009 11 21.01.2009 17:00
[Erledigt] Verliere Zuordung in einer JS Klasse tomtaz JavaScript, Ajax und mehr 2 08.12.2008 21:55
[Erledigt] Vererbung - Zugriff auf Elternmethoden nicht möglich unimow PHP Tipps 2008 5 03.11.2008 18:53
Fehlermeldung : Call to a member function foo() on a non-object Mark Taylor PHP Tipps 2008 4 14.09.2008 20:38
GD-Spezialisten gesucht....wer kann helfen? rezix PHP Tipps 2008 12 26.02.2008 17:55
Call to a member function on a non-object Riks PHP Tipps 2007 20 10.02.2007 22:59
Function und Variablen Quagga PHP Tipps 2006 2 11.08.2006 18:23
Einfach Datepicker gesucht Cyberbob_at_tot PHP Tipps 2007 5 14.11.2005 09:10
function in einer function - help! PHP Tipps 2005-2 4 25.10.2005 00:20
[Erledigt] Datenbank nicht erreichbar PHP Tipps 2005-2 27 19.08.2005 12:20
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
[Erledigt] OOP: function in eine andere function einbinden PHP Tipps 2005 10 20.03.2005 16:13
functionwiederholung in function PHP Tipps 2004 1 26.10.2004 15:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php getdata, function getdata, php while in function, $getdata php array, while im.getdata, getdata php, function in while php, function getdata() {, php function getdata, php while return, return array while, while teams with, getdata php img src

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum