22. november 2007 - 09:36Der er
31 kommentarer og 1 løsning
Hvorfor virker min sql setning ikke?
<? session_start(); include("application.php");
$sql = "SELECT team_players.*, teams.id FROM team_players INNER join teams ON (teamplayers.team_id = teams.id)"; $loadin = mysql_query($SQL) or die("There is an Error in the database"); while ($result = mysql_fetch_object($loadin)){ ?> <? echo $result['team_players.player_id'];?> - <? echo $result['teams.id'];?> <? }?>
Hvorfor virker min kode ikke og hvordan virker dette? har ikke helt opfattet konseptet bag de 2 tables alså hvordan man henter fra dem og hvad man henter fra dem.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
yes så det lige :) men hvad er forskællen på <? session_start(); include("application.php");
$query = "Select team_players.team_id, teams.name from team_players, teams where team_players.team_id = teams.id"; $result = mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_array($result)){ echo $row['team_id']. " - ". $row['name']; echo "<br />";} ?>
og
$sql = "SELECT team_players.*, teams.id FROM team_players INNER join teams ON (teamplayers.team_id = teams.id)"; $loadin = mysql_query($SQL) or die("There is an Error in the database"); while ($result = mysql_fetch_object($loadin)){ ?> <? echo $result['team_players.player_id'];?> - <? echo $result['teams.id'];?> <? }?>
får denne fejl kode når jeg henter fra flere tables!
Fatal error: Cannot redeclare ob_callback() (previously declared in /usr/home/customers/improved-gaming.dk/wwwroot/www/application.php:26) in /usr/home/customers/improved-gaming.dk/wwwroot/www/application.php on line 30
Line 26 - 30 function ob_callback($buffer) { global $page_title; $buffer = str_replace("###PAGE_TITLE###", $page_title, $buffer); return $buffer; }
og fjerner jeg den kode bliver det næste funktion som er fejlen?! hvad sker der? der er ingen problemer når jeg henter fra en table.
Laver du join mellem 3 tabeller, skal du have 2 sammenligninger for at knytte dem sammen. Se min skitse. Du har sikkert fået alt for mange rækker med (ikke uendeligt, men mange...)
arbejede lige lidt med den anden metode: nu udskriver den navne under teams også man den udskriver teams'ne lige så mange gange som der er users. eks er der 2 members af teamet udskrives den 2 gang :) hvad kan jeg gøre ved det.
Det svarer til det du har 22/11-2007 10:58:55 - det giver bare en hulens masse sql-forespørgsler.
Men du svarer ikke på 22/11-2007 12:09:01 ... alle medlemmer kommer vel med, een pr record? Er det tilfældet kan du med en GROUP BY og http://mysql.com/group_concat få en komma-liste af brugere - og nøjes med een sql-sætning.
Så er jeg kommet så langt. Nu er den faktisk næsten klar!. Jeg har bare et mindre problem med min setning! og det er at jeg ikke kan havde 2 som heder name. alså cups.name og cups_teams.name for så bruger den kun den ene til det hele? hvordan klare jeg det?
Jamen så siger jeg mange tak for hjælpen :o) håber du vil hjælpe mig i fremtiden!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.