Nach Weiterleitung der ID die Zeile abrufen - wie?

icefire

Erfahrenes Mitglied
Hallo!

Mit Hilfe eines Links versuche ich die ID weiterzuleiten. Nun stellt sich für mich die Frage, wie ich diese ID weiterverarbeiten muss, um aus der betreffenden Zeile alle nötigen Daten zu bekommen bzw abzufragen!?

thx for help
ice
 
Hallo!

Also, ein bisschen genauer könnte deine Beschreibung schon sein!
Was willst du erreichen?
Woher holst du die Daten?

Wer soll damit bitte etwas brauchbares anfangen können?

Aber trotzdem:
Hier mal ein Beispiel der Weiterverarbeitung per MySQL:

PHP:
if ($_GET['ID'] == "") die("Die ID ist Fehlerhaft!");

$Q = mysql_query("SELECT * FROM news WHERE ID=$_GET[ID]");

while ($R = mysql_fetch_assoc(Q))
{
foreach ($R AS $K => $V)
{
echo "<p><p>Name:<br />$K</p><p>Wert:<br />$V</p></p>";
}

Das ist eine simple Methode, eine MySQL-Abfrage mittels einer ID, die per Link übergeben wurde, zu gestalten.
 
Was will ich erreichen: Ich will erreichen, das mit der ID der in Frage kommende Datensatz abgefragt und ausgegeben wird.

Die Daten sind in einer mysql DB gespeichert.

Auf einer Übersichtsseite werden schon einige Daten abgefragt. Um die Details zu erfahren habe ich dann einen Link eingebaut "<a href=\"index.php?file=war/wardetails&war_id=$war_id\">Details</a>" - dabei soll eben die ID weitergegeben werden. Leider wird diese ID nicht weitergegeben auch wenn ich es mit ".$war_id.", ".$_get[war_id]." oder ".$data[war_id]." versuche

Anhand dieser ID soll nun eine Abfrage aller Datensätze erfolgen, die mit ihr verbunden sind. Beispiele (schon mal versucht anzupassen):

PHP:
// Allgemeine Abfrage
$link = mysql_query("SELECT * FROM war_list WHERE war_id='$_GET[war_id]'");      
echo mysql_error(); 

// Spiele Runde 1 Clan
$countc	= mysql_query("SELECT o_m1std1 as nums FROM war_list WHERE war_id='$_GET[war_id]'");
echo mysql_error();
$r1c	= mysql_fetch_array($countc);
$allr1c	= $r1c[nums];

// Gesamt Runden Clan
$countg	= mysql_query("SELECT (sum(o_m1std1)+sum(o_m1std2)+sum(o_m1std3)+sum(o_m1std4)) as nums FROM war_list WHERE war_id='$_GET[war_id]'");
echo mysql_error();
$r4g	= mysql_fetch_array($countg);
$allrc	= $r4g[nums];

Bleibt noch zu erwähnen das der Code mit dem Link in "printf" ausgegeben wird - musste ja feststellen das es einwenig anders ist als mit echo! :rolleyes:

Hier nun noch der Link zur Seite man die Funktion besser sehen kann:
http://web2.serv1.servhost.de/index.php?file=war/war

thx for help
ice
 
Hab noch folgendes eingefügt:
PHP:
$war_id=$HTTP_GET_VARS[war_id];
Hat leider auch nichts gebracht!:(

Auf der Anschlusseite habe ich eingefügt:
PHP:
if ($_GET[war_id] == "") 
	{
	die("Die ID wurde nicht übermittelt!");
	}
	else
	{
// Allgemeine Abfrage
$link = mysql_query("SELECT * FROM war_list WHERE war_id='$_GET[war_id]'");      
echo mysql_error(); 
//usw.
}

Und da ja die ID angeblich nicht übergeben wird bricht er ab.:(
 
Der Link sieht Bei Dir so aus:

Code:
http://web2.serv1.servhost.de/index.php?file=war/wardetails&war_id=&......

Is klar das da keine ID übermittelt wird wenn im QueryString keine Drinn steht...

Poste mal das Script das die Liste mit den ganzen battles erstellt...
 
Welche PHP-Version hast du denn auf dem Server?
Versuch doch mal print_r($_GET).
Übrigens:
Zum auslesen eines assoziativen Arrays musst du den Namen in Anführungszeichen schreiben!
 
Hier das War-Skript:

PHP:
<?
$tempcol = "#879bbc";
$title = "War Statistik"; 
include("templates/header.html"); 
?>
<!-- anfang war -->
<?
$verbindung = @mysql_connect($mysqlserver, $mysqluser, $mysqlpass) 
   or die("Konnte keine Verbindung zum Datenbankserver aufbauen!"); 
  
$selectdb = @mysql_select_db($mysqldb)            
   or die("Konnte die Datenbank <b>$mysqldb</b> nicht auswählen!"); 

//testphase1
// Gewonnene Spiele 
$sql = mysql_query("SELECT count(*) AS nums FROM war_list WHERE war_status = 'won'");
echo mysql_error();
$w1 = mysql_fetch_array($sql);
$all1 = $w1[nums];

// Verlorene Spiele
$sql = mysql_query("SELECT count(*) AS nums FROM war_list WHERE war_status = 'lost'");
echo mysql_error();
$l2 = mysql_fetch_array($sql);
$all2 = $l2[nums];

// Unentschieden
$sql = mysql_query("SELECT count(*) AS nums FROM war_list WHERE war_status = 'draw'");
echo mysql_error();
$g3 = mysql_fetch_array($sql);
$all3 = $g3[nums];

// Gesamt Spiele
$sql = mysql_query("SELECT count(war_status) AS nums FROM war_list");
echo mysql_error();
$wlg = mysql_fetch_array($sql);
$alls = $wlg[nums];

// Gesamt Runden Clan
$countg	= mysql_query("SELECT (sum(o_m1std1)+sum(o_m1std2)+sum(o_m1std3)+sum(o_m1std4)) as nums FROM war_list");
echo mysql_error();
$r4g	= mysql_fetch_array($countg);
$allrc	= $r4g[nums];

// Gesamt Runden Gäste
$countg	= mysql_query("SELECT (sum(e_m1std1)+sum(e_m1std2)+sum(e_m1std3)+sum(e_m1std4)) as nums FROM war_list");
echo mysql_error();
$r4g	= mysql_fetch_array($countg);
$allrg	= $r4g[nums];

?>
<br>
<table width="520px" align="center">
	<tr>
		<td align="left" style="height: 20px; color: #ffffff; background: #547FAA;" colspan="4">&nbsp;Gesamt Ergebnis</td>
	</tr>
	<tr bgcolor="<? echo $tab1 ?>">
		<td align="center" style="height: 20px; width: 100;"><font size="-2">Gewonnen:&nbsp;<font color="<? echo $woncol ?>"><b><? echo $all1 ?></b></font></font></td>		
		<td align="center" style="height: 20px; width: 100;"><font size="-2">Unentschieden:&nbsp;<font color="<? echo $drawcol ?>"><b><? echo $all3 ?></b></font></font></td>
		<td align="center" style="height: 20px; width: 100;"><font size="-2">Verloren:&nbsp;<font color="<? echo $lostcol ?>"><b><? echo $all2 ?></b></font></font></td>
		<td align="center" style="height: 20px; width: 100;"><font size="-2">Spiele Gesamt:&nbsp;<font color="<? echo $wld ?>"><b><? echo $alls ?></b></font></font></td>	
	</tr>
	<tr bgcolor="<? echo $tab1 ?>">
<?	
if($allrc > $allrg)
	{
	printf("<td align=\"center\" colspan=\"2\" style=\"height: 20px; width: 200;\"><font size=\"-2\">Gesamtrunden Clan:&nbsp;<font color=\"".$woncol."\"><b>".$allrc."</b></font></font></td>
	    	<td align=\"center\" colspan=\"2\" style=\"height: 20px; width: 200;\"><font size=\"-2\">Gesamtrunden Gäste:&nbsp;<font size=\"1\" color=\"".$lostcol."\"><b>".$allrg."</b></font></font></td>");
	}
elseif($allrc < $allrg)
	{
	printf("<td align=\"center\" colspan=\"2\" style=\"height: 20px; width: 200;\"><font size=\"-2\">Gesamtrunden Clan:&nbsp;<font color=\"".$lostcol."\"><b>".$allrc."</b></font></font></td>
	    	<td align=\"center\" colspan=\"2\" style=\"height: 20px; width: 200;\"><font size=\"-2\">Gesamtrunden Gäste:&nbsp;<font size=\"1\" color=\"".$woncol."\"><b>".$allrg."</b></font></font></td>");
	}
elseif($allrc == $allrg)
	{
	printf("<td align=\"center\" colspan=\"2\" style=\"height: 20px; width: 200;\"><font size=\"-2\">Gesamtrunden Clan:&nbsp;<font color=\"".$drawcol."\"><b>".$allrc."</b></font></font></td>
	    	<td align=\"center\" colspan=\"2\" style=\"height: 20px; width: 200;\"><font size=\"-2\">Gesamtrunden Gäste:&nbsp;<font size=\"1\" color=\"".$drawcol."\"><b>".$allrg."</b></font></font></td>");
	}
?>
	</tr>	
</table><br><br>	 
<table width="520px" align="center">
	<tr>
		<td align="left" style="height: 20px; color: #ffffff; background: #547FAA;" colspan="4">&nbsp;Alle Wars im Überblick</td>
	</tr>
	<tr>
		<td align="center">
		<table width="520px" border="0">
<?	
$link=mysql_query("SELECT war_id, war_date, clan_name, e_stats, o_stats, war_status FROM war_list ORDER BY war_id DESC");      
	echo mysql_error();
	
$war_id=$HTTP_GET_VARS[war_id];	
	
function bgcolor($row = 1) { 
    static $i; 
    static $col = array('#BEBEBE','#B0B0B0');
    $bg = $col[(int)($i + .00000001)]; 
    $i += 1 / $row; 
    if ($i >= count($col)) $i = 0; 
    return $bg; 
	} 

while($data = mysql_fetch_array($link))
	{ 	   
if ($data[war_status] == 'won')
	{ 
	printf("<tr bgcolor='%s'>			
            <td align=center><font color=\"".$bg."\">".$data[war_date]."</font></td>
			<td align=center><font color=\"".$bg."\">".$clanid."</font> vs. <font color=\"".$bg."\">".substr($data[clan_name],0,20)."</font></td>
			<td align=center><font color=\"".$woncol."\"><b>".$data[o_stats]."</b></font> : <font color=\"".$lostcol."\"><b>".$data[e_stats]."</b></font></td>
			<td align=center><font color=\"".$bg."\">Counter-Strike</font></td>
			<td align=center><a href=\"index.php?file=war/wardetails&war_id=".$war_id."\"><font color=\"".$bg."\">Details</font></a></td> 
			</tr>\n", bgcolor(1));
	}
elseif ($data[war_status] == 'lost') 
	{ 
	printf("<tr bgcolor='%s'> 
            <td align=center><font color=\"".$bg."\">".$data[war_date]."</font></td>
			<td align=center><font color=\"".$bg."\">".$clanid."</font> vs. <font color=\"".$bg."\">".substr($data[clan_name],0,20)."</font></td>
			<td align=center><font color=\"".$lostcol."\"><b>".$data[o_stats]."</b></font> : <font color=\"".$woncol."\"><b>".$data[e_stats]."</b></font></td>
			<td align=center><font color=\"".$bg."\">Counter-Strike</font></td>
			<td align=center><a href=\"index.php?file=war/wardetails&war_id=".$war_id."\"><font color=\"".$bg."\">Details</a></font></td> 
			</tr>\n", bgcolor(1));
	}
elseif ($data[war_status] == 'draw') 
	{ 
	printf("<tr bgcolor='%s'> 
            <td align=center><font color=\"".$bg."\">".$data[war_date]."</font></td>
			<td align=center><font color=\"".$bg."\">".$clanid."</font> vs. <font color=\"".$bg."\">".substr($data[clan_name],0,20)."</font></td>
			<td align=center><font color=\"".$drawcol."\"><b>".$data[o_stats]."</b></font> : <font color=\"".$drawcol."\"><b>".$data[e_stats]."</b></font></td>
			<td align=center><font color=\"".$bg."\">Counter-Strike</font></td>
			<td align=center><a href=\"index.php?file=war/wardetails&war_id=".$war_id."\"><font color=\"".$bg."\">Details</font></a></td> 
			</tr>\n", bgcolor(1));
	}
	}	
?>	

	</table>	
		</td>
	</tr>		
</table>
<br>
<table border="0" align="center">
<?	   
printf("<tr><td><br></td><td><br></td></tr>		
		<tr><td colspan=\"2\" align=\"center\"><font color=\"".$ofit."\" size=\"-3\">WarZ V1.0 - © by Infernal Alliance</font></td></tr>");	
?>
</table>
<br>
<!-- ende war -->
<?
mysql_close();
include("templates/footer.html"); 
?>

Alles läuft einwandfrei - wenn man mal von der Weiterleitung der ID absieht!
:-)
 
Also, übergeben wird die WarID wohl richtig:

PHP:
wardetails&war_id=".$war_id."

Aber ich glaube immernoch, dass du diese Zeile

PHP:
$war_id=$HTTP_GET_VARS[war_id];

so ändern solltest:

PHP:
$war_id=$HTTP_GET_VARS['war_id'];
 
Sooo, die ID wird weitergeleitet. Mit Hilfe von global $war_id; hat das nun funktioniert.

Die Ergebnisse werden seltsamerweise angezeigt mit folgendem Code:
PHP:
$countc	= mysql_query("SELECT o_m1std1 as nums FROM war_list WHERE war_id='$_GET[war_id]'");
echo mysql_error();
$r1c	= mysql_fetch_array($countc);
$allr1c	= $r1c[nums];

Aber wenn ich den Rest mit Select * abfragen möchte geht das komischerweise nicht!? Und wenn ich alle übrigen Spalten namentlich abfrage kommt ein mysql Fehler. Das kann doch wohl nicht sein oder?

PHP:
$link = mysql_query("SELECT * FROM war_list WHERE war_id='$_GET[war_id]'");
 
Zurück