Auf einer Seite funktioniert das Script, auf einer nicht

Black Crow

Mitglied
Hi

ich hab ein kleines Problemchen, welches sich folgendermaßen beläuft:

Ich progge gerade an einem Script (http://www.karibik-piraten.de/chars) und möchte, dass sich ein PopUp öffnet, wenn ich auf einen Charakter klicke (funktioniert nur bei Charakteren zur Zeit noch). Auf der Startseite geht es ja, aber wenn man oben auf "Charaktere" klickt und da dann einen Charakter auswählt, geht es plötzlich nicht mehr.

Mein Code

PHP:
<? 
 include "lib/connect.inc.php"; 
 
 $sql = mysql_query("SELECT * FROM char_charakters WHERE charid = '".$charid."'");
 
 while ($zeile = mysql_fetch_array($sql)) {
 ?>
 
 <html>
 <head>
 <title><? echo $zeile['charname']; ?></title>
 <script type="text/javascript">
 	function showAccount(userid) {
 		FunkyNewWindow = window.open ("view_account.php?userid=" + userid, "view",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=600,height=500')
 	}
 </script>
 </head>
 
 <body>
 
 <? 
 
 echo "Charaktername: <b>". $zeile['charname'] ."</b><br>";
 echo "Username: <a href=\"javascript:showAccount(". $zeile['userid'] .")\">". $zeile['username'] ."</a></b><br>";
 
 ?>
 
 </body>
 </html>
 <?
 }
 ?>

Versuch ich es mit diesem SELECT-Befehl:

PHP:
$sql = mysql_query("SELECT * FROM char_charakters WHERE charid LIKE $charid");

kommt folgende Fehlermeldung

Code:
 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/v097846/chars/view_charakter.php on line 6

Mit dem SELECT-Befehl geht es aber von der Startseite aus. Kann man gerne mal ausprobieren, was ich meine.
 
Wenn du mir jetzt noch sagst, welche du meinst, um WHERE charid LIKE $charid: Wenn ich um $charid so was mach '".$charid."' funktionierts in dem Sinne, dass ich eine leere Seite erhalte (in der Datenbank steht aber was.
 
Bei der Zeichenkettenvergleichsfunktion LIKE ist es möglich Platzhalter in dem Muster aufzunehmen:
  • %: Entspricht einer beliebigen Anzahl von Zeichen, selbst 0 Zeichen
  • _: Entspricht genau einem Zeichen
PHP:
<?php

	include 'lib/connect.inc.php';

	$query = "
		SELECT
		        `charname`,
		        `username`
		  FROM
		        `char_charakters`
		  WHERE
		        `charid` LIKE '%".mysql_real_escape_string($charid)."%'
		";
	$result = mysql_query($query);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title><? echo $charid; ?></title>
	<script type="text/javascript">
	<!--
		function showAccount(userid) {
			var FunkyNewWindow = window.open("view_account.php?userid=" + userid, "view", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=600,height=500")
		}
	//-->
	</script>
</head>

<body>
<?php

	while( $zeile = mysql_fetch_array($result) ) {
		echo 'Charaktername: <b>'.$zeile['charname'].'</b><br>';
		echo 'Username: <a href="javascript:showAccount(\''.$zeile['userid'].'\')">'.$zeile['username'].'</a></b><br>';
	}

?>
</body>
</html>
 
Das probier ich heute abend, wenn ich daheim wieder bin, aus. Aber bei SELECT `charname`,`username` muss ich hinschreiben "*", da die zwei Tabellenfelder nur zum Test gelten, wenn es fertig sind, kommen mehrere und es werden eigentlcih da alle ausgelesen
 

Neue Beiträge

Zurück