dropdown menu .. запис в разлини таблици

vasilev

Registered
Здравейте .
намерих това за dropdown menu :

Код:
<?
// Connect database
mysql_connect("localhost","","");
mysql_select_db("");

// If submitted, check the value of "select". If its not blank value, get the value and put it into $select.
if(isset($select)&&$select!=""){
$select=$_GET['select'];
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form id="form1" name="form1" method="get" action="<? echo $PHP_SELF; ?> ">
Category :
<select name="select">
<option value="business">Bisiness</option>
<option value="design">Design</option>
<option value="entertainment">Entertainment</option>
<option value="it">It</option>
<option value="lifestyle">Lifestyle</option>
<option value="press">Press</option>
<?
// Get records from database (table "name_list").
$list=mysql_query("select * from name_list order by id asc");

// Show records by while loop.
while($row_list=mysql_fetch_assoc($list)){
?>
<option value="<? echo $row_list['id']; ?>" <? if($row_list['id']==$select){ echo "selected"; } ?>><? echo $row_list['name']; ?></option>
<?
// End while loop.
}
?>
</select>
<input type="submit" name="Submit" value="Select" />
</form>
<hr>
<p>
<?
// If you have selected from list box.
if(isset($select)&&$select!=""){

// Get records from database (table "name_list").
$result=mysql_query("select * from name_list where id='$select'");
$row=mysql_fetch_assoc($result);
?>
Information about <strong><? echo $row['name']; ?></strong> company...</p>
<?
// End if statement.
}

// Close database connection.
mysql_close();
?>
</p>
</body>
</html>


като добавих различните опции .

<option value="business">Bisiness</option>
<option value="design">Design</option>
<option value="entertainment">Entertainment</option>
<option value="it">It</option>
<option value="lifestyle">Lifestyle</option>
<option value="press">Press</option>

option value - такива са имената на таблиците . те са еднакви и всяка от тях има name, mail , address и comment .

Аз искам да избирам в коя да записвам коментар .
Имам и следния код :

Код:
<form action="" method="post">
<input class="input_text" type="text" name="name">
<input class="input_text" type="text" name="mail">
<input class="input_text" type="text" name="address">
<textarea class="input_textarea" name="comment"></textarea>
<input type="submit" name="submit" value="Изпрати" class="button">
</form>

<?php
if (isset($_POST["submit"])) {
//настройки за база данни
$dbhost = "localhost";
$dbuser = "";
$dbpass = "";
$dbname = "";
$conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
mysql_select_db($dbname, $conn)or die(mysql_error());
if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]);
else $errMsg = " <a class=maintext2><font color=#FFFFFF>Не сте въвели име!</font></a><br />";
if (!empty($_POST["mail"])) $mail = htmlspecialchars($_POST["mail"]);
else $errMsg = "<a class=maintext2><font color=#FFFFFF>Не сте въвели e-mail!</font></a><br />";
if (!empty($_POST["address"])) $address = htmlspecialchars($_POST["address"]);
else $errMsg = "<a class=maintext2><font color=#FFFFFF>Не сте въвели адрес!</font></a><br />";
if (!empty($_POST["comment"])) $comment = htmlspecialchars($_POST["comment"]);
else $errMsg = "<a class=maintext2><font color=#FFFFFF>Не сте въвели съобщение!</font></a><br />";
if (empty($errMsg)) {
$insert = mysql_query("INSERT INTO messages(name, mail , address , comment) VALUES('$name', '$mail', '$address', '$comment')")or die(mysql_error());
echo '<a class=maintext2><font color=#FFFFFF>Съобщението е изпратено успешно!</font></a><br />';
} else echo $errMsg;
mysql_close();
}
?>

Като идеята ми е от двата кода да направя един . Ще може ли някой да ми помогне :) Тоест менюто всъщност си избирам в коя таблица да записвам нещата :)
 
Опитвам се да го подкарам така :

Код:
<form action="" method="post">
<select name="dropdown">
<option>business</option>
<option>design</option>
<option >entertainment</option>
<option >it</option>
<option >lifestyle</option>
<option >press</option>

</select>
<input class="input_text" type="text" name="name">
<input class="input_text" type="text" name="mail">
<input class="input_text" type="text" name="address">
<textarea class="input_textarea" name="comment"></textarea>
<input type="submit" name="submit" value="Изпрати" class="button">
</form>
<?php
if (isset($_POST["submit"])) {
//настройки за база данни
$dbhost = "localhost";
$dbuser = "";
$dbpass = "";
$dbname = "";
$conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
mysql_select_db($dbname, $conn)or die(mysql_error());
if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]);
else $errMsg = " <a class=maintext2><font color=#000000>Не сте въвели име!</font></a><br />";
if (!empty($_POST["mail"])) $mail = htmlspecialchars($_POST["mail"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели e-mail!</font></a><br />";
if (!empty($_POST["address"])) $address = htmlspecialchars($_POST["address"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели адрес!</font></a><br />";
if (!empty($_POST["comment"])) $comment = htmlspecialchars($_POST["comment"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели съобщение!</font></a><br />";
if (empty($errMsg)) {
$insert = mysql_query("INSERT INTO $dropdown(name, mail , address , comment) VALUES('$name', '$mail', '$address', '$comment')")or die(mysql_error());
echo '<a class=maintext2><font color=#000000>Съобщението е изпратено успешно!</font></a><br />';
} else echo $errMsg;
mysql_close();
}
?>

но не успявам . не мога да разбера как в INSERT INTO $dropdown да сложа избраната таблица от опциите ?
 
<form action="" method="post">
<select name="dropdown">
<option>Избери</option>
<option value="[tablica1]">business</option>
<option value="[tablica2]">design</option>
<option value="[tablica3]">entertainment</option>
<option value="[tablica4]">it</option>
<option value="[tablica5]">lifestyle</option>
<option value="[tablica6]">press</option>

</select>
<input class="input_text" type="text" name="name">
<input class="input_text" type="text" name="mail">
<input class="input_text" type="text" name="address">
<textarea class="input_textarea" name="comment"></textarea>
<input type="submit" name="submit" value="Изпрати" class="button">
</form>
<?php
if (isset($_POST["submit"])) {
//настройки за база данни
$dbhost = "localhost";
$dbuser = "";
$dbpass = "";
$dbname = "";
$conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
mysql_select_db($dbname, $conn)or die(mysql_error());
if (!empty($_POST['dropdown'])) $dropdown = $_POST['dropdown']; // предполага се че няма опастност от хакване
else $errMsg = " <a class=maintext2><font color=#000000>Не сте избрали каде да се добавя !</font></a><br />";

if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]);
else $errMsg = " <a class=maintext2><font color=#000000>Не сте въвели име!</font></a><br />";
if (!empty($_POST["mail"])) $mail = htmlspecialchars($_POST["mail"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели e-mail!</font></a><br />";
if (!empty($_POST["address"])) $address = htmlspecialchars($_POST["address"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели адрес!</font></a><br />";
if (!empty($_POST["comment"])) $comment = htmlspecialchars($_POST["comment"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели съобщение!</font></a><br />";
if (empty($errMsg)) {
$insert = mysql_query("INSERT INTO ".$dropdown." VALUES (name, mail, address, comment) VALUES('".$name."', '".$mail."', '".$address."', '".$comment."')") or die(mysql_error());
echo '<a class=maintext2><font color=#000000>Съобщението е изпратено успешно!</font></a><br />';
} else echo $errMsg;
mysql_close();
}
?>
 
..тъкмо го подкарах с "case" и влизах да напиша че е решен :)

switch ($_POST['dropdown'])
{
case "business":
$insert = mysql_query("INSERT INTO business (name, mail , address , comment) VALUES('$name', '$mail', '$address', '$comment')")or die(mysql_error());
break;

}

По твоя начин нещо ми плюе грешка :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES('asas', 'asas', 'asas', 'aasa')' at line 1
 
Нормално ето този ред го направи така:
<form action="" method="post">
<select name="dropdown">
<option>Избери</option>
<option value="[tablica1]">business</option>
<option value="[tablica2]">design</option>
<option value="[tablica3]">entertainment</option>
<option value="[tablica4]">it</option>
<option value="[tablica5]">lifestyle</option>
<option value="[tablica6]">press</option>

</select>
<input class="input_text" type="text" name="name">
<input class="input_text" type="text" name="mail">
<input class="input_text" type="text" name="address">
<textarea class="input_textarea" name="comment"></textarea>
<input type="submit" name="submit" value="Изпрати" class="button">
</form>
<?php
if (isset($_POST["submit"])) {
//настройки за база данни
$dbhost = "localhost";
$dbuser = "";
$dbpass = "";
$dbname = "";
$conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
mysql_select_db($dbname, $conn)or die(mysql_error());
if (!empty($_POST['dropdown'])) $dropdown = $_POST['dropdown']; // предполага се че няма опастност от хакване
else $errMsg = " <a class=maintext2><font color=#000000>Не сте избрали каде да се добавя !</font></a><br />";
if (!empty($_POST["name"])) $name = htmlspecialchars($_POST["name"]);
else $errMsg = " <a class=maintext2><font color=#000000>Не сте въвели име!</font></a><br />";
if (!empty($_POST["mail"])) $mail = htmlspecialchars($_POST["mail"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели e-mail!</font></a><br />";
if (!empty($_POST["address"])) $address = htmlspecialchars($_POST["address"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели адрес!</font></a><br />";
if (!empty($_POST["comment"])) $comment = htmlspecialchars($_POST["comment"]);
else $errMsg = "<a class=maintext2><font color=#000000>Не сте въвели съобщение!</font></a><br />";
if (empty($errMsg)) {
$insert = mysql_query("INSERT INTO ".$dropdown." (name, mail, address, comment) VALUES('".$name."', '".$mail."', '".$address."', '".$comment."')") or die(mysql_error());
echo '<a class=maintext2><font color=#000000>Съобщението е изпратено успешно!</font></a><br />';
} else echo $errMsg;
mysql_close();
}
?>
 
стана :)
твоето малко по просто и по добро от моето :)

за труда .. +1 :)
и мерси
 

Back
Горе