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

Форум PHP

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

 

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

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

тема: определения стороки цикла while

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-44] 

 
 автор: confirm   (10.03.2013 в 06:51)   письмо автору
 
   для: amsokol   (09.03.2013 в 18:25)
 

Если о проще, тогда так:
<?
if(isset($_POST['upr']) && $_POST['upr']=="akk-smysites") { 
   foreach(
$_POST['date'] as $key=>$val) {
      if(
$key=(int)$keymysql_query("UPDATE url SET price='".mysql_real_escape_string($val)."' WHERE `id`=".$key);
      
//здесь можно проверить и значение $val на допустимость
      //при этом похоже, что это float значение    
   
}   
   
$ap mysql_query("SELECT * FROM `url` WHERE `user`='$name' ORDER BY `id`")or die(mysql_error()); 
} else 
"Error message";

  Ответить  
 
 автор: amsokol   (09.03.2013 в 18:34)   письмо автору
 
   для: Slo_Nik   (08.03.2013 в 22:41)
 

хочется в php сделать

  Ответить  
 
 автор: amsokol   (09.03.2013 в 18:33)   письмо автору
 
   для: Jovidon   (08.03.2013 в 21:35)
 

я понимаю php но не проффи

  Ответить  
 
 автор: amsokol   (09.03.2013 в 18:25)   письмо автору
 
   для: confirm   (09.03.2013 в 18:19)
 

просто первый запрос к базе должен быть в любом случае независимо есть ли ключ проверки или нет если страница загрузилась, так как эта страница инклудится после нажатия на странице личного кабинета ссылки мои сайты. А что касается проверки наличия ключа и проверки его соответствия, мне просто так удобнее. Может быть foreach() и проще, но я выбрал первым что в голову пришло в этой ситуации

  Ответить  
 
 автор: confirm   (09.03.2013 в 18:19)   письмо автору
 
   для: amsokol   (09.03.2013 в 18:10)
 

Понятно, ну значит не приводите их оторванными от контекста, иначе получается, что они впустую здесь присутствуют. )

  Ответить  
 
 автор: amsokol   (09.03.2013 в 18:10)   письмо автору
 
   для: confirm   (09.03.2013 в 12:36)
 

Первый запрос, чтобы вывести записанные в ней значения, для подстановки в форму, которые в последствие будут изменяться и перезаписываться, последний запрос, чтобы обновить данные после перезаписи для подстановку в форму

  Ответить  
 
 автор: confirm   (09.03.2013 в 12:36)   письмо автору
 
   для: amsokol   (09.03.2013 в 12:13)
 

Ну если так.... Но все равно конструкция, логика, должна "вылепливаться" на начальных стадиях, а у вас сейчас так:
запрос запрос на выборку к базе //уже не понятно для чего
если есть ключ
то продолжаем
если ключ Х равен условию //а почему не проверить это сразу с ключом проверяемым ранее?
то обновляем
и вновь непонятный идентичный запрос на выборку к базе

Кстати, можно просто foreach() без вызова целого сборища )

  Ответить  
 
 автор: amsokol   (09.03.2013 в 12:13)   письмо автору
 
   для: confirm   (09.03.2013 в 02:23)
 

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

  Ответить  
 
 автор: confirm   (09.03.2013 в 02:23)   письмо автору
 
   для: amsokol   (09.03.2013 в 02:10)
 

Да доказывать то собственно было нечего, и ежу было понятно, что можно, надо было только хорошо подумать и даже бы темы этой не возникло.
Странна только логика - если отсутствует в полученных данных ключ 'upr', то это означает, что вам шлют левую форму. Тогда какой смысл в этом сообщении - "Неверный формат запроса!"? Какой формат и какого запроса? Да и кому, если это может и робот шалить?

... or die(mysql_error()); - это только для локальной отладки. Негоже вываливать возможные ошибки на страницах рабочих - вряд ли они понятны пользователю, а вот потенциальным вредителям вашим большой подарочек для анализа. Так что не поступайте так, а пишите так, чтобы не править потом все перед помещением на сервер.

  Ответить  
 
 автор: amsokol   (09.03.2013 в 02:10)   письмо автору
 
   для: confirm   (09.03.2013 в 00:03)
 

Спасибо, всё работает
я обошел массив и перезапись в цикле и УРААА!


<?PHP
error_reporting
(E_ALL);
$ap mysql_query("SELECT * FROM `url` WHERE `user`='$name' ORDER BY `id`")or die(mysql_error());
if(isset(
$_POST['upr']))
{
   if(
$_POST['upr']=="akk-smysites")
   {
   
$im array_combine(array_map('intval'array_keys($_POST['date'])), array_map  ('mysql_real_escape_string'$_POST['date'])); 
   while (list(
$k,$v) = each($im))
        {
        
mysql_query("UPDATE url  SET price='$v' WHERE `id`='$k'")or die(mysql_error());
        }
   }
   
$ap mysql_query("SELECT * FROM `url` WHERE `user`='$name' ORDER BY `id`")or die(mysql_error());
}
else
{
echo
'<br><p align="center"><b><font color="red">Неверный формат запроса!</font></b></p>';
}
?>


Использовав условие для цикла list() и each()

Вот Мы с вами и доказали, что и это можно сделать средствами PHP

Спасибо всем участникам
Тема закрыта

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-44] 

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

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