Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: сделать условие (не поулчается

Сообщения:  [1-5] 

 
 автор: TavRoX   (10.10.2010 в 02:23)   письмо автору
 
   для: heed   (10.10.2010 в 02:18)
 

а во тесли взять типа SELECT id FROm ....
то дальше сделать если не возвращает нечего то исполнять инсерт
а если нашло то написать такой ... уже есть

так?
но как прописат ьправильно услвоие?

  Ответить  
 
 автор: heed   (10.10.2010 в 02:18)   письмо автору
 
   для: TavRoX   (10.10.2010 в 00:56)
 

из этого кода никак :)
в нём просто надо поменять select count(*) from .... на например SELECT id FROM ....
или наоборот проверять вместо if(mysql_num_rows($res2)>0) например if(mysql_result($res2, 0, 0)>0)

я просто говорил на будущее, если вдруг сделаете какое-то из полей UNIQUE, и захотите просто выполнять запрос без проверки добавлялось-ли чего-то или нет, или даже обновлять существующие ряды в случае их там присутствия. То такие возможности тоже есть :) в мануале mysql на одной странице все синтаксисы запросов

  Ответить  
 
 автор: TavRoX   (10.10.2010 в 00:56)   письмо автору
 
   для: heed   (10.10.2010 в 00:44)
 

а как ет оправильнее сделать исходя из вот этого кода
if (isset($tagu) && isset($tagr) )
{

  $result4 = mysql_query ("INSERT INTO tags (tagu,tagr) VALUES ('$tagu', '$tagr')");
         if ($result4 == 'true') {echo "<p>Ваш тег добавлен!</p>";}
else {echo "<p>Ваш тег не добавлен!</p>";}
 

}


в таком виде оно щас. ну и добавляет.

  Ответить  
 
 автор: heed   (10.10.2010 в 00:44)   письмо автору
 
   для: TavRoX   (10.10.2010 в 00:15)
 

select count(*) from ..... возвращает 1 ряд в котором цифра 0


//
Если сделать нужное поле UNIQUE, можно просто выполнять запрос не добаляя лишних рядов., без проверки (не всмысле переменных в скрипте )
(REPLACE ... ; INSERT IGNORE ....; INSERT .... ON DUPLICATE KEY UPDATE ....; )

  Ответить  
 
 автор: TavRoX   (10.10.2010 в 00:15)   письмо автору
 
 

друзья вот делаю условие если такое имя тега уже есть то не добавлять его
но какое бы я не вводил всеравно не добавляет
вот что сделал
     if (isset($tagu) && isset($tagr) )
{
    $query="select count(*) from tags where tagr='$tagr'  ";
$res2=mysql_query($query);
if(mysql_num_rows($res2)>0){
  echo "Данный тег уже есть в базе";
  }
 else {
/* Здесь пишем что можно заносить информацию в базу */
$result4 = mysql_query ("INSERT INTO tags (tagu,tagr) VALUES ('$tagu', '$tagr')");
         if ($result4 == 'true') {echo "<p>Ваш тег добавлен!</p>";}
else {echo "<p>Ваш тег не добавлен!</p>";}
}

}

  Ответить  

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования