За последние 24 часа нас посетили 20058 программистов и 1695 роботов. Сейчас ищут 1892 программиста ...

как сделать "эффект гостевой книги"?

Тема в разделе "PHP для новичков", создана пользователем golandets, 26 фев 2009.

  1. golandets

    golandets Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    8
    Симпатии:
    0
    недаром раздел для новичков, поэтому спрашиваю:
    данные передаются через форму в базу методом POST
    как сделать, чтобы при добавлении в базу данным придавался персоналный ID,
    который бы отображался на экране.
    допустим, ввожу данные - отправляю - мне выводится мой персоналный ИД номер: типа, "твой идентификатор 5"
    фишка в том, что бы потом через этот же самый ID можно было извлечь толко именно эти данные
    заранее спасибо
    пока у меня такое:
    PHP:
    1. <?php
    2.     $value1 = $_POST['a'];
    3.     $value2 = $_POST['b'];
    4.     $value3 = $_POST['c'];
    5.     $value4 = $_POST['d'];
    6.  
    7.     $link = mysql_connect("localhost", "user", "12345") or die("Failed to connect");
    8.     print "Connected.";
    9.     mysql_select_db("my_db") or die("Failed to select database");
    10.     $res = mysql_query("INSERT INTO `new_table`(a,b,c,d) VALUES('$value1','$value2','$value3','$value4')");
    11.     if($res) echo 'You did it!';
    12.     else echo 'Failed';
    13. ?>
     
  2. unicross

    unicross Активный пользователь

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Если есть поле с атрибутом AUTO_INCREMENT, то примерно так:
    PHP:
    1.  
    2. <?php
    3. $value1 = $_POST['a'];
    4. $value2 = $_POST['b'];
    5. $value3 = $_POST['c'];
    6. $value4 = $_POST['d'];
    7.  
    8. $link = mysql_connect("localhost", "user", "12345") or die("Failed to connect");
    9. print "Connected.";
    10. mysql_select_db("my_db") or die("Failed to select database");
    11.  
    12. $value1 = mysql_real_escape_string($value1);
    13. $value2 = mysql_real_escape_string($value2);
    14. $value3 = mysql_real_escape_string($value3);
    15. $value4 = mysql_real_escape_string($value4);
    16.  
    17. $res = mysql_query("INSERT INTO `new_table`(a,b,c,d) VALUES('$value1','$value2','$value3','$value4')");
    18. if($res) {
    19.    $result = mysql_query('SELECT LAST_INSERT_ID()') or die('Ошибка');
    20.    $pole = mysql_fetch_row($result);
    21.    echo 'твой идентификатор ' . $pole[0];
    22. }
    23. else echo 'Failed';
    24. ?>
    Писал на коленке возможны ошибки...
     
  3. golandets

    golandets Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    8
    Симпатии:
    0
    спасибо
    работает :)
     
  4. golandets

    golandets Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    8
    Симпатии:
    0
    в догонку к теме, что-то я запарился: хочу чтобы из базы выводились данные из строки id
    по переменной $message, которая постоянно меняется
    если, допустим, ставлю просто цифру 5, то работает, если заношу 5 в переменную, то нет
    прошу больно ногами не бить, только учусь :)

    PHP:
    1. <?php
    2. $sql = 'SELECT a,b,c,d FROM `my_table` WHERE id=5';
    3. ?>

    PHP:
    1. <?php
    2. $message = "5";
    3. $sql = 'SELECT a,b,c,d FROM `my_table` WHERE id='$message'';
    4. ?>
     
  5. unicross

    unicross Активный пользователь

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Строка должна быть в кавычках, а не в апострофах...
     
  6. golandets

    golandets Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    8
    Симпатии:
    0
    точно!
    спасибо ещё раз :)
     
  7. golandets

    golandets Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    8
    Симпатии:
    0
    в продолжение темы: как сделать "эффект гостевой книги",
    т.е. данные переданные через переменную $message отображаются на странице,
    но при поступлении новых данных через туже самую переменную
    они не заменяются на новые, а опускаются ниже, освобождая свою позицию для новых данных;
    на данный момент данные отображаются, но при получении новых данных заменяются на них, не сохраняясь;
    надеюсь, понятно написал :)
    PHP:
    1. <?php
    2. $message = $_GET['message'];
    3.  
    4. $link = mysql_connect("localhost", "user", "12345") or die("Failed to connect");
    5. mysql_select_db("my_db");
    6.  
    7. $sql = "SELECT a,b,c,d FROM `my_table` WHERE id='$message'";
    8. $result = mysql_query($sql);
    9.  
    10. while ( $data = mysql_fetch_array($result) ) {
    11. 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";
    12. }
    13. ?>
     
  8. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    не, нихрена не понятно
     
  9. Dimon1987

    Dimon1987 Активный пользователь

    С нами с:
    17 янв 2009
    Сообщения:
    36
    Симпатии:
    0
    и в правду не понял какую тайну в себе несет "эффект гостевой книги"...