недаром раздел для новичков, поэтому спрашиваю: данные передаются через форму в базу методом POST как сделать, чтобы при добавлении в базу данным придавался персоналный ID, который бы отображался на экране. допустим, ввожу данные - отправляю - мне выводится мой персоналный ИД номер: типа, "твой идентификатор 5" фишка в том, что бы потом через этот же самый ID можно было извлечь толко именно эти данные заранее спасибо пока у меня такое: PHP: <?php $value1 = $_POST['a']; $value2 = $_POST['b']; $value3 = $_POST['c']; $value4 = $_POST['d']; $link = mysql_connect("localhost", "user", "12345") or die("Failed to connect"); print "Connected."; mysql_select_db("my_db") or die("Failed to select database"); $res = mysql_query("INSERT INTO `new_table`(a,b,c,d) VALUES('$value1','$value2','$value3','$value4')"); if($res) echo 'You did it!'; else echo 'Failed'; ?>
Если есть поле с атрибутом AUTO_INCREMENT, то примерно так: PHP: <?php $value1 = $_POST['a']; $value2 = $_POST['b']; $value3 = $_POST['c']; $value4 = $_POST['d']; $link = mysql_connect("localhost", "user", "12345") or die("Failed to connect"); print "Connected."; mysql_select_db("my_db") or die("Failed to select database"); $value1 = mysql_real_escape_string($value1); $value2 = mysql_real_escape_string($value2); $value3 = mysql_real_escape_string($value3); $value4 = mysql_real_escape_string($value4); $res = mysql_query("INSERT INTO `new_table`(a,b,c,d) VALUES('$value1','$value2','$value3','$value4')"); if($res) { $result = mysql_query('SELECT LAST_INSERT_ID()') or die('Ошибка'); $pole = mysql_fetch_row($result); echo 'твой идентификатор ' . $pole[0]; } else echo 'Failed'; ?> Писал на коленке возможны ошибки...
в догонку к теме, что-то я запарился: хочу чтобы из базы выводились данные из строки id по переменной $message, которая постоянно меняется если, допустим, ставлю просто цифру 5, то работает, если заношу 5 в переменную, то нет прошу больно ногами не бить, только учусь PHP: <?php $sql = 'SELECT a,b,c,d FROM `my_table` WHERE id=5'; ?> PHP: <?php $message = "5"; $sql = 'SELECT a,b,c,d FROM `my_table` WHERE id='$message''; ?>
в продолжение темы: как сделать "эффект гостевой книги", т.е. данные переданные через переменную $message отображаются на странице, но при поступлении новых данных через туже самую переменную они не заменяются на новые, а опускаются ниже, освобождая свою позицию для новых данных; на данный момент данные отображаются, но при получении новых данных заменяются на них, не сохраняясь; надеюсь, понятно написал PHP: <?php $message = $_GET['message']; $link = mysql_connect("localhost", "user", "12345") or die("Failed to connect"); mysql_select_db("my_db"); $sql = "SELECT a,b,c,d FROM `my_table` WHERE id='$message'"; $result = mysql_query($sql); while ( $data = mysql_fetch_array($result) ) { echo '<strong>Name:</strong> ' . $data[0] . '<br><strong>Kontakt:</strong> ' . $data[1] . '<br><strong>E-mail:</strong> ' . $data[2] . '<br><strong>Message:</strong> ' . $data[3] . '' . "\n"; } ?>