Kategorieausgabe funktioniert nicht

RageNo1

Erfahrenes Mitglied
Hallo
ich möchte die Kategorien aus einer Datenbank auslesen und via
dem Formularobjekt Liste/Menu (<select...) ausgeben lassen.

Leider Funktioniert es nicht ganz ich finde aber den Fehler nicht.
Hier einmal das ganze Script:
PHP:
<?php

	include ("config.inc.php");

// kategorien auslesen

	mysql_connect($db_server, $db_user, $db_password);
	mysql_select_db($db_database);

	$connect = "SELECT * FROM toy_kats ORDER BY name ASC";
	$result = mysql_query($connect);

	while ($list = mysql_fetch_array($result)) 

	$cat = $list['name'];

// ausgabe addlink formular

echo "<form name=\"addlink\" method=\"post\" action=\"addlink_code.php\">
<table width=\"400\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <!--DWLayoutTable-->
  <tr> 
    <td height=\"120\" colspan=\"2\" valign=\"top\">title:<br> <input name=\"title\" type=\"text\" size=\"30\" maxlength=\"50\"> 
      <br> <br>
      url (http://)<br> <input name=\"url\" type=\"text\" id=\"url\" size=\"30\"> <br></td>
  </tr>
  <tr> 
    <td width=\"200\" height=\"84\" valign=\"top\">username / guestname<br> <input name=\"user\" type=\"text\" id=\"user\"> 
      <br> <br> <select name=\"category\">$cat
      </select></td>
    <td width=\"200\" valign=\"top\">password (only user)<br> <input name=\"pass\" type=\"password\" id=\"pass\"> 
      <br> <br> <input type=\"submit\" name=\"Submit\" value=\"add link\"> </td>
  </tr>
</table>
</form>";
	
	mysql_close()

?>

Danke im voraus Ragey
 
Probier mal Folgendes:
PHP:
<?php

	include 'config.inc.php';

	// kategorien auslesen

	mysql_connect($db_server, $db_user, $db_password);
	mysql_select_db($db_database);

	$query = '
		SELECT
		        `name`
		  FROM
		        `toy_kats`
		  ORDER BY
		        `name` ASC
		';
	$result = mysql_query($query)
		// or-die-Zusatz zur einfachen Fehlerdiagnose
		or die(mysql_error());


	echo '<form action="addlink_code.php" method="post">';
	echo '<p><label>title</label><input type="text" name="title" maxlength="50"></p>';
	echo '<p><label>url (http://)</label><input type="text" name="url"></p>';
	echo '<p><label>username/guestname</label><input type="text" name="user"></p>';
	echo '<p><select name="category">';
	while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
		echo '<option>'.$row['name'].'</option>';
	}
	echo '<p><label>password (only user)</label><input type="password" name="pass"></p>';
	echo '<p><input type="submit" name="Submit" value="add link"></p>';
	echo '</form>';

	mysql_close();

?>
 
PHP:
echo "<form name=\"addlink\" method=\"post\" action=\"addlink_code.php\">
<table width=\"400\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <!--DWLayoutTable-->
  <tr> 
    <td height=\"120\" colspan=\"2\" valign=\"top\">title:<br> <input name=\"title\" type=\"text\" size=\"30\" maxlength=\"50\"> 
      <br> <br>
      url (http://)<br> <input name=\"url\" type=\"text\" id=\"url\" size=\"30\"> <br></td>
  </tr>
  <tr> 
    <td width=\"200\" height=\"84\" valign=\"top\">username / guestname<br> <input name=\"user\" type=\"text\" id=\"user\"> 
      <br> <br> <select name=\"category\">$cat
      </select></td>
    <td width=\"200\" valign=\"top\">password (only user)<br> <input name=\"pass\" type=\"password\" id=\"pass\"> 
      <br> <br> <input type=\"submit\" name=\"Submit\" value=\"add link\"> </td>
  </tr>
</table>
</form>";
Einen solch umfangreichen Teil HTML-Code mit PHP auszugeben, ist nicht sinnvoll. Beende lieber den PHP-Teil vor dem Code (mit ?>), gib dann den HTML-Code aus und mach danach mit dem PHP-Code weiter (<?php).
 
Hm, hatte gehofft das eine Fehlermeldung kommt ;)
Leeider ist das nicht der Fall, ich finde absolut nicht
warum es nicht ausgegeben wird.

Habe nun diese Varriante gestestet:
PHP:
<?php

	include ("config.inc.php");

// kategorien auslesen

	mysql_connect($db_server, $db_user, $db_password);
	mysql_select_db($db_database);

    $query = '
        SELECT
                `name`
          FROM
                `toy_kats`
          ORDER BY
                `name` ASC
        ';
    $result = mysql_query($query)
        // or-die-Zusatz zur einfachen Fehlerdiagnose
        or die(mysql_error());

$cat = $result['name'];

// ausgabe addlink formular

echo "<form name=\"addlink\" method=\"post\" action=\"addlink_code.php\">
<table width=\"400\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <!--DWLayoutTable-->
  <tr>
    <td height=\"120\" colspan=\"2\" valign=\"top\">title:<br><input name=\"title\" type=\"text\" size=\"30\" maxlength=\"50\">
      <br> <br>
      url (http://)<br> <input name=\"url\" type=\"text\" id=\"url\" size=\"30\"> <br></td>
  </tr>
  <tr>
    <td width=\"200\" height=\"84\" valign=\"top\">username / guestname<br> <input name=\"user\" type=\"text\" id=\"user\">
      <br> <br> <select name=\"category\">$cat
      </select></td>
    <td width=\"200\" valign=\"top\">password (only user)<br> <input name=\"pass\" type=\"password\" id=\"pass\">
      <br> <br> <input type=\"submit\" name=\"Submit\" value=\"add link\"> </td>
  </tr>
</table>
</form>";

	mysql_close()

?>
 
Habe es hinbekommen hier nochmal das Script
falls jemand eine ähnliche Frage hat.

PHP:
<?php

	include ("config.inc.php");

// kategorien auslesen

	mysql_connect($db_server, $db_user, $db_password);
	mysql_select_db($db_database);

	$connect = "SELECT * FROM toy_kats ORDER BY name ASC";
	$result = mysql_query($connect);

// ausgabe addlink formular

	echo "<form name=\"addlink\" method=\"post\" action=\"addlink_code.php\">
	<table width=\"400\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
	<!--DWLayoutTable-->
	<tr>
 	<td height=\"120\" colspan=\"2\" valign=\"top\">title<br> <input name=\"title\" type=\"text\" size=\"30\" maxlength=\"50\">
	<br> <br>
	url (http://)<br> <input name=\"url\" type=\"text\" id=\"url\" size=\"30\"> <br></td>
	</tr>
	<tr>
	<td width=\"200\" height=\"84\" valign=\"top\">username / guestname<br> <input name=\"user\" type=\"text\" id=\"user\">
	<br> <br> <select name=\"category\">";

	while ($list = mysql_fetch_array($result)) {
	$cat = $list['name'];

	echo "<option>$cat</option>";
	}

	echo "</select></td>
    	<td width=\"200\" valign=\"top\">password (user only)<br> <input name=\"pass\" type=\"password\" id=\"pass\">
	<br> <br> <input type=\"submit\" name=\"submit\" value=\"add link\"> </td>
	</tr>
	</table>
	</form>";

	mysql_close();

?>

Mfg Ragey
 
Zurück