lesen/zeigen/löschen sql table & co

ba-c

Mitglied
Also, ich habe vor mir ein Interface zu machen, in dem ich die Einträge in meiner Shoutbox auslesen kann und auch löschen kann.
Dazu habe ich dann natürl. nach einem Tutorial gesucht und habe das hier gefunden http://www.tutorials.de/tutorials15435.html .

Darin geht es um genau diese Sachen. Nun wollte ich aber dass mir db_ausgabe.php den Namen in einem Textfeld und die Nachricht in einer textarea ausgibt.

Ich hab also einfach ein Formular genommen und es so gestaltet, wie ich mir vorstelle es zu funktionieren hat, bzw. so wie ich meinte es könne funktionieren.

Es geht aber leider nicht :(

$abfrage[nick] = nick VARCHAR
$abfrage[txt] = txt TEXT

So soll es sein. nick VARCHAR in einem Textfeld und txt TEXT in einer textarea.

Ich krieg aber immer die Meldung: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web1/html/v6/admin/db_ausgabe.php on line 19


Was kann ich nu also machen damit es doch geht?

Meine Codes:

db_ausgabe.php
HTML:
<html>
<head>
<title>Inhalte ausgeben</title>
</head>
<body>
<?php
$host = "localhost";
$user = "lala";
$password = "lala";
$dbname = "v6gb";
$tabelle ="shoutbox";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * from $tabelle";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
while ($ausgabe = mysql_fetch_array ($result))
{
print ("$ausgabe[nick]<br><br>$ausgabe[txt]<br><hr><br>");
}
mysql_close ($dbverbindung)
 
?>
<form name="form1" method="post" action="">
<font face="Verdana" size="1">Name:
<input type="text" name="$ausgabe[nick]">
<br>
Msg. : </font> 
<textarea name="$ausgabe[txt]" row=5 cols=40></textarea>
</form>
</body>
</html>

db_eingabe.html
HTML:
<html>
<head>
<title>Dateneingabe</title>
</head>
<body>
<form action="work.php" method=post>
Nick: <br>
<input type=text name="$ausgabe[nick]" size= 50>
<br>
<br>
Msg. :<textarea name="$ausgabe[txt]" row=5 cols=40></textarea>
<br>
<br>
<input type=submit name="SUBMIT" value="ok">
</form>
</body>
</html>

db_erstellen.php
HTML:
<html>
<head>
<title>Daten verarbeiten</title>
</head>
<body>
<?php
$host = "localhost";
$user = "lala";
$password = "lala";
$dbname = "v6gb";
$tabelle ="shoutcast";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "INSERT into $tabelle values ('0', '$eingabe[nick]', '$eingabe[txt]')";
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);
?>
</body>
</html>

work.php
HTML:
<html>
<head>
<title>Daten verarbeiten</title>
</head>
<body>
<?php
$host = "localhost";
$user = "lala";
$password = "lala";
$dbname = "v6gb";
$tabelle ="shoutcast";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "INSERT into $tabelle values ('0', '$eingabe[nick]', '$eingabe[txt]')";
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);
?>
</body>
</html>

Ist das nun richtig so oder hab ich's wiedermal nicht verstanden und lieg völlig falsch? :|
 
Also wenn du soviele Dateien hast die alle eine MySL verbindung brauchen würd ich eine Datei db.php oder so machen und diese dann immer includen!
Code:
<?
  //db.php
  $host="localhost";
  $database="DB";
  $pass="pass";
  
  $db=@mysql_connect($host,$database,$pass); 
  mysql_select_db($database,$db);
?>
Und probier es mal deine Querys so zu machen:
Code:
$query="SELECT nick,txt FROM shoutbox";
$result=mysql_query($query) OR die("MySQL hat einen Fehler verursacht:".mysql_error());
 
Danke für den Tipp, aber wie gesagt, habe das Script vom tut...

Mir geht es momentan mehr darum, dass ich den Fehler da ausmerzen kann und da ich ziemlich am anfang bin was php angeht, bräucht ich hilfe. =)

Hast du nicht gesehn den Fehler oder sind die Tips = lösung?
 
Naja, sie sind ein Schritt zur Lösung da dann auch ein richtiger Fehler ausgeben wird und man somit sehn kann was genau falsch ist :)

Was mir allerdings noch aufgefallen ist:
Code:
<input name='nick'...>
<textarea name='txt'...>

Darauf zugreifen dann:

<?
$nick=$_POST[nick];
$txt=$_POST[txt];
?>
und du hast in der db_ausgabe.php keine action="" gesetzt....
 
naja, also wirklich geholfen ist mir nu nicht. verstehe genau so viel wie vorher.


Gumbo, dein Tip ist klasse, wenn ich ihn verstehen würde. also wenn ich genau wüßte was ich eingeben muss. :|
Wie gesagt, ich bin am anfang von php.
 
Die Anwendung der Klasse ist recht einfach. Hier ist ein Beispiel:
PHP:
<?php

	include('class.mysql.php');

	$mysql = new mysql(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD);
	$mysql->select_db(MYSQL_DBNAME);

	$query = "
		SELECT
		        `spalte1`,
		        `spalte2`
		  FROM
		        `tabelle`
		";
	$result = $mysql->query($query);
	while( $row = $mysql->fetch_array($result, MYSQL_ASSOC) ) {
		echo '<p>Spalte 1: '.$row['spalte1'].'<br />Spalte 2: '.$row['spalte2'].'</p>';
	}
	$mysql->close();
?>
Es ist natürlich eine wirklich schlichte MySQL-Verbindungsklasse.
 
Gumbo hat gesagt.:
PHP:
<?php
 
	include('class.mysql.php');
 
	$mysql = new mysql(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD);
	$mysql->select_db(MYSQL_DBNAME);
 
	$query = "
		SELECT
		 `spalte1`,
		 `spalte2`
		 FROM
		 `tabelle`
		";
	$result = $mysql->query($query);
	while( $row = $mysql->fetch_array($result, MYSQL_ASSOC) ) {
		echo '<p>Spalte 1: '.$row['spalte1'].'<br />Spalte 2: '.$row['spalte2'].'</p>';
	}
	$mysql->close();
?>
Glaub ich dir gerne, aber für mich ist das momentan noch ein Wirrwarr :)
Ich geh grad alle Begriffe durch um zu kapieren was was ist und wozu dient :)
 
Zurück