Aufruf für DB-Abfrage

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
mondi
Mitglied
Beiträge: 187
Registriert: 22.02.2003 10:14
Wohnort: Bremerhaven
Kontaktdaten:

Aufruf für DB-Abfrage

Beitrag von mondi »

Hallo,
habe mal eine dringende Bitte. Ich möchte folgende DB Abfrage ausführen:

www.domain.de/spiel/analyze.php?game=50&whocolor=black

50 wäre beispielsweise die Variable (GameID), auf die ich klicken möchte; sie wird im Moment bereits in einer Tabellenspalte angezeigt (also als jeweils laufende Nr. der Spiele - von 1-100 usw.) - aber eben nicht nach obigem Beispiel verlinkt.
Wie müsste das Script aussehen, damit ich innerhalb der Tabelle aus einer einfachen Zahl (GameID) diesen Link herstellen kann.

Im Moment sieht das Script in der betreffenden Tabellenstelle so aus:

Code: Alles auswählen

<td align='center'>$row[gameID]</td>

Wie gesagt, da sollte eben statt der einfachen Zahl in zukunft die anklickbare zahl (obiger link) sein.
thx in advance

Grüße
Mondi
..:: VERDI FOREVER ::..
Benutzeravatar
mondi
Mitglied
Beiträge: 187
Registriert: 22.02.2003 10:14
Wohnort: Bremerhaven
Kontaktdaten:

Beitrag von mondi »

<a href='analyze.php?game=$row[gameID]'> funktioniert
oder gibt es noch eine bessere Lösung?
..:: VERDI FOREVER ::..
Benutzeravatar
mondi
Mitglied
Beiträge: 187
Registriert: 22.02.2003 10:14
Wohnort: Bremerhaven
Kontaktdaten:

Beitrag von mondi »

sorry für die selbstgespräche. aber vielleicht kann jetzt doch jemand helfen.
Der Aufruf funktioniert, Frage: Was muss ich machen, damit das als 200x200 popup aufgeht ohne alles - navbars, menue usw.

Danke
Mondi
..:: VERDI FOREVER ::..
Benutzeravatar
pDCom
Mitglied
Beiträge: 279
Registriert: 06.03.2003 18:49
Wohnort: Österreich/Wien
Kontaktdaten:

Beitrag von pDCom »

Code: Alles auswählen

<a href="#" onClick="window.open('datei.php', 'fenster','toolbar=no,status=no,menubar=no,scrollbars=yes,width=200,height=200')">Dateiname</a>
bei width und height kannst du dann die größe auswählen also z.b. 200x200 ;)

gruß

pDCom
Benutzeravatar
mondi
Mitglied
Beiträge: 187
Registriert: 22.02.2003 10:14
Wohnort: Bremerhaven
Kontaktdaten:

Beitrag von mondi »

Danke, ich hab das mal eingebaut. Hier im Zusammenhang:

Code: Alles auswählen

  echo "<tr>
<td align='center'>
<a href='analyze.php?game=$row[gameID]' onClick='window.open('analyze.php?game=$row[gameID]', 'fenster','toolbar=no,status=no,menubar=no,scrollbars=no,width=200,height=200')'>$row[gameID]</a></td>
                            <td align='center'>$row2[firstName]</td>
                <td align='center'>".$status[$row['gameMessage']]."</td>
                <td align='center'>$situacao_text</td>
                <td align='center'>$rounds</td>
                <td align='center'>$row[fim]</td>
                <td align='center'>$duracao</td>
                <td align='center'>$xp</td>
                <td align='center'>$oficial</td>
                <td align='center'><a href='#' onClick='document.existingGames.gameID.value=$row[gameID];document.existingGames.submit()'>
		<img src='images/edit.gif' alt='".$MSG_LANG["details"]."' border=0></a></td>
              </tr>";
aber irgendwie will das nicht funktionieren. Das Fenster springt auf wie immer. Ich fürchte, es liegt daran, dass das in so einem echo-Befehl ist. Es würde mich freuen, wenn da jemand Rat wüsste, denn die Datei analyze ist wirklich nur 200x200 und das sieht blöde aus. :cry:

Grüße
Mondi
..:: VERDI FOREVER ::..
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Statt der URL im href einfach ein # schreiben.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Benutzeravatar
mondi
Mitglied
Beiträge: 187
Registriert: 22.02.2003 10:14
Wohnort: Bremerhaven
Kontaktdaten:

Beitrag von mondi »

Hallo,
danke für die schnelle und kompetente Hilfe. Jetzt klappt es hervorragend. Und wie das so ist, ein Wunsch zieht den nächsten nach sich.
Fakt ist: das Analyse-Brett (analyze.php) wird jetzt gestartet und angezeigt. Der Aufruf erfolgt über die Datei stat_user.php, in der folgender - oben verhandelter - Aufruf ist

Code: Alles auswählen

<a href='#'

onClick=window.open('analyze.php?game=$row[gameID]','fenster','toolbar=no,status=no,menubar=no,scrollbars=no,width=250,height=270')>
		$row[gameID]</a>
Wäre es nun möglich, das so zu gestalten, dass aus der Datenbank nicht nur die GameID (Tabelle games) ausgelesen wird, sondern auch noch die Namen der Spieler. Hierzu gibt es in der Tabelle games die Player ID (jeweils A_Player oder B_Player), um dem Spiel die richtigen Spieler zuzuordnen.

CREATE TABLE `games` (
`gameID` smallint(6) NOT NULL auto_increment,
`A_Player` mediumint(9) NOT NULL default '0',
`B_Player` mediumint(9) NOT NULL default '0',
usw. usw.
Natürlich soll jetzt nicht die ID der Spieler angezeigt werden, sondern der Name der Spieler, der wiederum hier liegt:

Code: Alles auswählen

CREATE TABLE `players` (
  `playerID` int(11) NOT NULL auto_increment,
  `password` varchar(16) NOT NULL default '',
  `name` varchar(50) NOT NULL default '',
usw. usw.
Genial wäre es, wenn nun in Analyse-Ansicht (bzw. der Datei analyse.php) - quasi als Überschrift erscheinen könnte Meyer X Müller. Ich könnte das zwar so auslesen, aber die Zuordnung der Spieler zur GAMEID ist mir zu hoch. Ich hoffe, mir kann da jemand einen Tipp für einen Aufruf innerhalb der analyse.php geben. Oder ist das sinnvoller an den Link der stat_user.php anzuhängen oder muss es eine Kombination aus beidem sein?

Grüße
Mondi
..:: VERDI FOREVER ::..
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

SELECT p1.name AS player1_name, p2.name AS player2_name FROM games g LEFT JOIN players p1 ON (g.A_Player = p1.playerID) LEFT JOIN players p2 ON (g.B_Player = p2.playerID) WHERE g.gameID = $gameID
Benutzeravatar
mondi
Mitglied
Beiträge: 187
Registriert: 22.02.2003 10:14
Wohnort: Bremerhaven
Kontaktdaten:

Beitrag von mondi »

Also auch auf die Gefahr hin, mich hier bis auf die Knochen zu blamieren, habe ich mir jetzt folgenden Aufruf zusamengewurschtelt, der natürlich (wie sollte es auch anders sein), nicht funktioniert. Ich habe das ganze Script hier mal abgelichtet. Ich habe es analyze.php (den anderen Kram habe ich erstmal gelöscht) genannt und gehofft, dass die gameID nun von stat_users.php übergeben wird. Aber war nix. Ziel ist erstmal, dass da steht Meyer gegen Müller

Code: Alles auswählen

<?
   $database = "blabla";
   $dbhost = "localhost";
   $dbuser = "blabla";
   $dbpasswd = "blabla";
   $db = mysql_connect($dbhost, $dbuser, $dbpasswd);
   mysql_select_db ($database,$db);

$result = mysql_query("SELECT p1.name AS player1_name, p2.name AS player2_name FROM games g LEFT JOIN players p1 ON (g.A_Player = p1.playerID) LEFT JOIN players p2 ON (g.B_Player = p2.playerID) WHERE g.gameID = $gameID");

$anzeige = mysql_num_rows($result);

echo "$anzeige";

?>
..:: VERDI FOREVER ::..
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

...

$gameID = $_REQUEST['game'];

$result = mysql_query("SELECT p1.name AS player1_name, p2.name AS player2_name FROM games g LEFT JOIN players p1 ON (g.A_Player = p1.playerID) LEFT JOIN players p2 ON (g.B_Player = p2.playerID) WHERE g.gameID = $gameID");

$row = mysql_fetch_array($result);
echo $row['player1_name'] . ' gegen ' . $row['player2_name'];

...
Antworten

Zurück zu „Coding & Technik“