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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: MySQL: вывод ссылки на объявление сразу после добавления
 
 автор: intima   (22.04.2011 в 14:53)   письмо автору
 
 

как сделать чтобы человек который добывляет обьявлене после его добывления будет написанно Объявление успешно добавлено и ссылка на это обьявление !! я просто эту ссылку не могу сделать я новечек еше !! обьясните кому не трудно !!! и еше чтобы он одно и тоже обьявление два раза не мог добавить а то я добавляю и сколько раз нажму добавить хоть сто раз она добавляет его сто раз !!

  Ответить  
 
 автор: cheops   (22.04.2011 в 15:06)   письмо автору
 
   для: intima   (22.04.2011 в 14:53)
 

1) А куда объявление добавляете (файл, база данных)?
2) У вас уже есть код, выводящий объявления?

  Ответить  
 
 автор: intima   (22.04.2011 в 16:18)   письмо автору
 
   для: cheops   (22.04.2011 в 15:06)
 

да сам скрипт добавления у меня уже есть ! вот как сделать что бы ссылка была на это обьявление?может его вам выложить?

  Ответить  
 
 автор: cheops   (22.04.2011 в 17:37)   письмо автору
 
   для: intima   (22.04.2011 в 16:18)
 

1) А куда объявление добавляете (файл, база данных)?
2) У вас уже есть код, выводящий объявления на страницу?

  Ответить  
 
 автор: intima   (23.04.2011 в 22:54)   письмо автору
 
   для: cheops   (22.04.2011 в 17:37)
 

ДА КОД УЖЕ ЕСТЬ ,У МЕНЯ И ОНИ В БАЗУ ДОБАВЛЯЮТСЯ!! может выложить код??

  Ответить  
 
 автор: cheops   (23.04.2011 в 23:05)   письмо автору
 
   для: intima   (23.04.2011 в 22:54)
 

Вероятно у вас (поправьте, если не так) объявлению присваивается значение первичного ключа при помощи механизма AUTO_INCREMENT. Зная этот ключ, вы можете вывести объявление и сформировать ссылку на него? Получить это значение сразу после выполнения оператора INSERT можно при помощи функции mysql_insert_id(). Если проблема заключается в чем-то другом, пожалуйста сообщите больше подробностей об этом.

  Ответить  
 
 автор: intima   (23.04.2011 в 23:31)   письмо автору
 
   для: cheops   (23.04.2011 в 23:05)
 

да проблема имено в этом я не зная как сделать чтоба она сразу ссылку показывала я с таким еше не сталкивался просто зеленый я еше в этом деле!!! пожет пример покажешь???

  Ответить  
 
 автор: cheops   (23.04.2011 в 23:34)   письмо автору
 
   для: intima   (23.04.2011 в 23:31)
 

Как у вас выглядит ссылка в других частях системы (какие GET-параметры используете)?

  Ответить  
 
 автор: intima   (23.04.2011 в 23:38)   письмо автору
 
   для: cheops   (23.04.2011 в 23:34)
 

так то там методом post все
     <? $query "select id,name,parent from $tbCatalog where parent=-1 ORDER BY corder";
    if (
$result=mysql_query($query)){
        if (
mysql_num_rows($result)){
            
$catArray '';
            while (
$row mysql_fetch_array($result)){
               
$catArray[]= array('name'=>$row['name'],'id'=>$row['id']);
               
            }
        }
     }
...    
    if (!empty(
$_POST)){
...        
        if (
$error==''){
            
$query "INSERT INTO $tbProducts  (
                      `url`,
                      `text`,
                      `img`,
                      `parent`,
                      `datetime`,
                      `cena`,
                      `name`,
                      `plosh`,
                      `descr`,
                       `cid`,
                      `img2`,
                      `img3`
                     )
              VALUES (
                        '
$zag',
                        '
$text',
                        '
$img',
                        '-1'   ,
                        '
$datetime',
                        '
$cena',
                         '
$name',
                        '
$plosh',
                        '
$descr',
                        '
$cid',
                        '
$addimg_1',
                        '
$addimg_2'
                                      )"
;
                                      
            
$error['add']='<b class="b_add_2">Объявление не добавлено</b>';
            
            if (
$resultmysql_query($query)){
                if (
mysql_affected_rows()!=0){
                    
$id_add mysql_insert_id();
                    
$taip=substr($taip045);
                    
$url getTransName(trim($taip));
                   
// $url = Get_Next_Uniq_URL("$url", $tbProducts, "url_men", "");
                    
$query "
                        UPDATE 
$tbProducts
                        SET `translit` = '
$url_table'
                        WHERE `id`=
$id_add
                    "
;
                    if (
$result mysql_query($query)){
                        if (
mysql_affected_rows()!=0){
                            
$error['add']='<br><b class="b_add_4">Объявление успешно добавлено</b>';
                            
$add_cat true;
                        }
                    }
                    
                }
            }
        }
    }
...
вот код в принципе
[поправлено модератором]

  Ответить  
 
 автор: cheops   (23.04.2011 в 23:44)   письмо автору
 
   для: intima   (23.04.2011 в 23:38)
 

В таблице $tbProducts есть первичный ключ вроде $tbCatalog.id? Или в ней нет такого ключа?

PS Такой объемный код лучше прикреплять в виде файла.

  Ответить  
 
 автор: intima   (24.04.2011 в 00:08)   письмо автору
 
   для: cheops   (23.04.2011 в 23:44)
 

да да там авто инкремент первичный ключ все дела!!

  Ответить  
 
 автор: cheops   (23.04.2011 в 23:52)   письмо автору
 
   для: intima   (23.04.2011 в 23:38)
 

Если первичный ключ есть и он называется id, то вот этот фрагмент
<?php
  
if ($result mysql_query($query)){ 
    if (
mysql_affected_rows()!=0){ 
      
$error['add']='<br><b class="b_add_4">Объявление успешно добавлено</b>'
      
$add_cat true
    } 
  }
?>
поправьте так
<?php
  
if ($result mysql_query($query)){ 
    if (
mysql_affected_rows()!=0){ 
      
$error['add'] = '<br><b class="b_add_4">Объявление успешно добавлено</b> '.
                       
'<a href="describe.php?id='.mysql_insert_id().'">ссылка на объявление</a>'
      
$add_cat true
    } 
  }
?>
где describe.php, скрипт, который отображает объявление по id-идентификатору, переданному через GET-параметр id.

  Ответить  
 
 автор: intima   (24.04.2011 в 00:08)   письмо автору
 
   для: cheops   (23.04.2011 в 23:52)
 

она пишет id=0 и не переходит куда надо там значение 0 поподает ! почему?

  Ответить  
 
 автор: cheops   (24.04.2011 в 00:14)   письмо автору
 
   для: intima   (24.04.2011 в 00:08)
 

А... у вас там UPDATE, тогда после строки $url = getTransName(trim($taip)); добавьте вызов mysql_insert_id()
<?php
  
...
  
$url getTransName(trim($taip));
  
$id mysql_insert_id();
  ...
?>
а предыдущий фрагмент исправьте следующим образом
<?php 
  
...
  if (
$result mysql_query($query)){  
    if (
mysql_affected_rows()!=0){  
      
$error['add'] = '<br><b class="b_add_4">Объявление успешно добавлено</b> '
                       
'<a href="describe.php?id='.$id.'">ссылка на объявление</a>';  
      
$add_cat true;  
    }  
  } 
  ...
?>

  Ответить  
 
 автор: intima   (24.04.2011 в 00:18)   письмо автору
 
   для: cheops   (24.04.2011 в 00:14)
 

все получились спасибо большое !! если можно еше один вопрос к тебе как туда привьюшку для фото поключить?? у меня в админке есть она !

  Ответить  
 
 автор: cheops   (24.04.2011 в 00:24)   письмо автору
 
   для: intima   (24.04.2011 в 00:18)
 

>как туда привьюшку для фото поключить??
А туда это куда? К ссылке?

>у меня в админке есть она !
Путь к ней ложиться в базу данных? Если да, то в какое поле? Если нет, то как следует ссылаться на скрипт, создающий динамические уменьшенные изображения.

PS Под новые вопросы лучше заводить новые темы, так и ответов можно больше получить и ссылаться/искать темы потом удобнее.

  Ответить  
 
 автор: intima   (24.04.2011 в 00:29)   письмо автору
 
   для: cheops   (24.04.2011 в 00:24)
 

не не не к ссылке там есть добавление фото !! вот когда я с админки добавляю фото там одна меленькая фото сохроняется и большое !!! а когда я с add файла добавляю! она не показыев в админке и не уменьшает !!! все я шас новую тему создам

  Ответить  
 
 автор: cheops   (24.04.2011 в 08:52)   письмо автору
 
   для: intima   (24.04.2011 в 00:29)
 

Да, давайте обсуждение в новой теме продолжим.

  Ответить  
 
 автор: cheops   (22.04.2011 в 15:08)   письмо автору
 
   для: intima   (22.04.2011 в 14:53)
 

>и еше чтобы он одно и тоже обьявление два раза не мог добавить а то я добавляю и сколько раз
>нажму добавить хоть сто раз она добавляет его сто раз !!
Для этого сразу после добавления, осуществляют переадресацию на какую-то другую (или эту же самую, в зависимости от реализации) страницу, чтобы обнулить POST-данные.

  Ответить  
 
 автор: intima   (22.04.2011 в 16:19)   письмо автору
 
   для: cheops   (22.04.2011 в 15:08)
 

да а как это осышествить надо в кнопке добавить еше и ссылку сделать

  Ответить  
 
 автор: cheops   (22.04.2011 в 17:36)   письмо автору
 
   для: intima   (22.04.2011 в 16:19)
 

Нет в обработчике нужно добавить переадресацию на другую страницу, например, при помощи функции header() и HTTP-заголовка Location, например, переход на страницу index.php может выглядеть так
<?php
  
...
  
header("Location: index.php");
?>

  Ответить  
 
 автор: intima   (23.04.2011 в 22:59)   письмо автору
 
   для: cheops   (22.04.2011 в 17:36)
 

спасибо друг

  Ответить  
Rambler's Top100
вверх

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