Hilfe bei "Select * from - where . = .

Kalma

Erfahrenes Mitglied
Hey,
ich habe ein Problem bei meinem Forum:

Ich habe es so programmiert:
index-site: Dort werden alle Foren aufgelistet, die existieren... Hier das Script:
PHP:
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
a:link {
	color:#FF0000;
	text-decoration:none;
}
a:hover {
    color:#990000;
	text-decoration:none;
}
a:visited {
    color:#990000;
	text-decoration:none;
}
-->
</style>

<?php
//variablen für Datum
$tag = date("d.m.Y");
$uhr = date("H:i");

//Hier die Verbindung für das Forum aufbauen
$Host 		= "localhost";
$User 		= "superdrummer";
$Password 	= "kriegt ihr nicht";
$DBName 	= "superdrummer";
$TableName 	= "foren";

$Link = mysql_connect($Host, $User, $Password);

$Query = "SELECT 
			*
		  FROM
		  	$TableName
		  ORDER BY
		  	foren_id";
			
$Result = mysql_db_query($DBName, $Query, $Link);

/***********************    HIER DIE TABELLE FÜR VORHANDENE FOREN ANZEIGEN **********************/
//Zuerst die Überschrift der ganzen Geschichte
echo " <h2> <a href=\"index.php\">David's Forum</a> </h2> ";
echo " <p /> ";
echo " Eingeloggt als: Gast ";
echo " <br /> ";
echo " Wir haben es $uhr am $tag ";
echo " <br /> ";
echo " Viel Spaß im Forum ";
echo " <p> ";
echo " <p> ";
echo " <hr /> ";

//Jetzt den Button für Neues Board
echo "<form action=\"new_forum.php\" method=\"post\">
	  <input type=\"submit\" value=\"New Board\" class=\"button\" disabled=\"disabled\" />
	  </form>";

echo " <p> ";

//Hier kommen jetzt die Foren hin, die erstellt wurden
echo " <table border=\"0\" bgcolor=\"#CCCCCC\" width=\"100%\"> ";
echo " <tr> ";
echo " <td align=\"left\">   <b> Forum-Name  </b> </td> ";
echo " <td align=\"left\"> <b> Forum-Autor </b> </td> ";
echo " </tr> ";
while ($row = mysql_fetch_array($Result))
{
echo " <tr bgcolor=\"white\"> ";

echo " <td align=\"left\"> 
       <a href=\"threads.php?thread_id='".$row['foren_id']."'\">
        ".$row['foren_title']." 
	   </a>";



 echo " <br /> ";			// Hier wird der subtitle ausgegeben
  echo " >> ".$row['foren_sub']." </td> ";
  
echo " <td algin=\"left\"> ".$row['foren_autor']." </td> ";

echo " </tr> ";

}
echo " </table> ";

mysql_close($Link);
?>

-------------------------------

2. Seite
threads.php - Dort werden alle Threads ausgelesen.. Eigentlich sollten jedoch nur die ausgelesen werden, die der Foren-id aus der vorigen Site entsprechen... Hier das Script:
PHP:
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
a:link {
	color:#FF0000;
	text-decoration:none;
}
a:hover {
    color:#990000;
	text-decoration:none;
}
a:visited {
    color:#990000;
	text-decoration:none;
}
-->
</style>

<?php
//variablen für Datum
$tag = date("d.m.Y");
$uhr = date("H:i");

//Hier die Verbindung für das Forum aufbauen
$Host 		= "localhost";
$User 		= "superdrummer";
$Password 	= "kriegt ihr nicht";
$DBName 	= "superdrummer";
$TableName 	= "threads";

$Link = mysql_connect($Host, $User, $Password);

$Query = "SELECT 
			*
		  FROM
		  	$TableName
		  WHERE 
		    thread_id = '".$_GET['thread_id']."'
		  ORDER BY
		  	thread_id";
			
$Result = mysql_db_query($DBName, $Query, $Link);

/***********************    HIER DIE TABELLE FÜR VORHANDENE FOREN ANZEIGEN **********************/
//Zuerst die Überschrift der ganzen Geschichte
echo " <h2> <a href=\"index.php\">David's Forum</a> </h2> ";
echo " <p /> ";
echo " Eingeloggt als: Gast ";
echo " <br /> ";
echo " Wir haben es $uhr am $tag ";
echo " <br /> ";
echo " Viel Spaß im Forum ";
echo " <p> ";
echo " <p> ";
echo " <hr /> ";

//Jetzt den Button für Neuen Thread
echo "<form action=\"new_forum.php\" method=\"post\">
	  <input type=\"submit\" value=\"New Thread\" class=\"button\" disabled=\"disabled\" />
	  </form>";

echo " <p> ";

//Hier kommen jetzt die Threads hin, die erstellt wurden
echo " <table border=\"0\" bgcolor=\"#CCCCCC\" width=\"100%\"> ";
echo " <tr> ";
echo " <td align=\"left\">   <b> Thread-Name  </b> </td> ";
echo " <td align=\"left\"> <b> Thread-Autor </b> </td> ";
echo " </tr> ";
while ($row = mysql_fetch_array($Result))
{
echo " <tr bgcolor=\"white\"> ";

echo " <td align=\"left\"> 
       <a href=\"threads.php?thread_id='".$row['thread_id']."'\">
        ".$row['thread_title']." 
	   </a> </td> ";
  
echo " <td algin=\"left\"> ".$row['thread_autor']." </td> ";

echo " </tr> ";

}
echo " </table> ";

mysql_close($Link);
?>

Was mache ich falsch, und wie könnt ihr mir helfen?

Danke im Voraus
David
 
Außerdem: warum machst du zwei Hochkommas, wenn du in einem Link eine Variable definierst?
PHP:
 <a href=\"threads.php?thread_id='".$row['foren_id']."'\">
Die brauchst du nicht!
Vielleicht liegts daran.
Machs mal so:

PHP:
 <a href=\"threads.php?thread_id=".$row['foren_id']."\">
 
Hallo,
ich habe noch einmal 3 kleine Problemchen...

-1- Ich habe bei meinem Forum, was nun korrekt läuft folgende Buttons erstellt:
-1- New Board
-2- New Thread
-3- New Reply
Für "New Board" hab ich schon ein Formular erstellt.
Folgender Code:
PHP:
<?php
//variablen für Datum
$tag = date("d.m.Y");
$uhr = date("H:i");

echo "<h2> <a href=\"index.php\">David's Forum</a> </h2>";
echo "<p />";
echo "Eingeloggt als: Gast";
echo "<br />";
 
echo "Wir haben es $uhr am $tag";
echo "<br /> ";
echo "Viel Spaß im Forum ";
echo "<p>";
echo "<p>";
echo "<hr />";

echo " <p> ";
echo " <h2> Neues Board erstellen </h2>";
echo " <p> ";
echo "<form action=\"new_board_insert.php\" method=\"post\">";
echo " Username ";
echo " <br /> ";
echo " <input type=\"text\" name=\"foren_autor\" /> ";
echo " <p /> ";
echo " Subtitle des Forums ";
echo " <br /> ";
echo " <input type=\"text\" name=\"foren_title\" /> ";
echo " <p /> ";
echo " Subtitle des Forums ";
echo " <br /> ";
echo " <input type=\"text\" name=\"foren_sub\" /> ";
echo " <p /> ";
echo " <input type=\"submit\" value=\"Board erstellen\" />";
echo "</form>";
?>

Nun weiß ich allerdings nicht mehr, wie mein Insert Script aussehen muss, da meine anderen nicht funktionieren :(

Hier mein aktuelles Insert-Script:
PHP:
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
a:link {
	color:#FF0000;
	text-decoration:none;
}
a:hover {
    color:#990000;
	text-decoration:none;
}
a:visited {
    color:#990000;
	text-decoration:none;
}
-->
</style>

<?php
//Hier die Verbindung für das Forum aufbauen
$Host 		= "localhost";
$User 		= "";
$Password 	= "";
$DBName 	= "superdrummer";
$TableName 	= "foren";

$Link = mysql_connect($Host, $User, $Password);

$foren_title	 	= $_POST['foren_title'];
$foren_sub		= $_POST['foren_sub'];
$foren_autor		= $_POST['foren_autor'];
$time			= date("d.m.Y @ H:i");

if(isset($foren_title) && isset($foren_sub) && isset($foren_autor)){ 


$Query="INSERT into 
	   $TableName 
        VALUES
	   ('','','".$foren_title."','".$foren_sub."','".$foren_autor."')";

@mysql_query($Query);

echo"<b>Das Theme wurde erfolgreich erstellt!";
} else {
echo"Bitte füllen Sie alle Felder aus.";
}
?>

Ich weiß, das es nicht ganz fertig ist, aber wie vollende ich es?

Ich hoffe Ihr könnt mir dabei helfen? ()...


Dann, mein letztes Problem:
Wie würdet ihr es anstellen, wenn ihr ein neues Reply machen wollt?
Ich überlege wie ich es mit der Board_id_übergebung machen soll...
Habt ihr nen simplen Vorschlag?

Hier der Link zu meinem Forum
http://superdrummer.su.funpic.de/test/index.php
oder
http://superdrummer.su.funpic.de/test/

David
 
Zuletzt bearbeitet:
Hallo,

ich bräuchte wirklich Eure hilfe :( :nospam: :nospam: :nospam: :nospam:

Weil, ich hab damit ein GROßES Problem, das nicht .....

Das Script sagt zwar, das es die Daten eingefügt hat, aber ändern tut sich nix...


David
 
Erstens entferne die Passwörter aus dem vorigen Post. :)
ausserdemwäreganz gut wenn du das @ vor dem MySQL Query wegmachst, und ein or die(mysql_error()); dahinter setzte damit Du auch erfährst was da schiefläuft
 
Zuletzt bearbeitet:
hey...
ich hab die Zeile mit dem @mysql nun so abgeändert
mysql_query($Query or die(mysql_error()));

Nur, mein Problem immer noch:
Der sagt, er hätte das Board erstellt, tuts aber nicht :(

Sonst, weiß jemand von euch ein anderes einfaches Insert Script?

David
 
Das liegt ganz einfach daran das du nicht prüfst ob ers auch getan hat.
und eher so:
mysql_query($Query) or die(mysql_error());
 
Zeig jetzt nochmal deinen Code...
Ansonsten, würde ich dir raten $_GET und $_POST zu benutzen, falls du mal auf einem Server arbeiten solltest wo register_globals ausgeschaltet sind.
 
Zurück