PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 17
myvin Отправлено: 08 Августа, 2018 - 13:03:33 • Тема: как выполнить UPDATE если uid равен uid который есть в базе • Форум: Вопросы новичков

Ответов: 1
Просмотров: 526
имеем код:

PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query ("INSERT INTO priemka (uid,data_vremya,masters,type_app,type_z,marka,model,number_k,fio,imei,ser_num,complect,tsena,polomka,zametki,data2,status1,status2,status3,status4) VALUES('$uid','$vremya','$masters','$type_app','$type_z','$marka','$model','$number','$fio','$imei','$serialnumber','$complect','$stoimost','$nepoladka','$zametki','$data2','1','0','0','0')");
  3. if ($result=='TRUE')
  4.     {
  5.        
  6.     echo "<p align=center>Квитанция успешно подготовлена, можно приступать к печати</p></br>";
  7.     }
  8.  else {
  9.     echo "Что то пошло не так, повторите попытку";
  10.     }
  11.  


где переменная UID прилетает по $_POST['uid'] c другого скрипта. Но при обновлении страницы, в базу данных пишется такая же строка с таким же UID. Тут вот вопрос:
как сделать так, что после INSERT INTO шла проверка на существование такого же UID (на случай обновления страницы) в базе данных, и если он существует, то выполняем запрос UPDATE с примерно теми же параметрами что и INSERT. Не могу просто понять где его поставить, и как, примерно это так выглядит?
PHP:
скопировать код в буфер обмена
  1.  
  2. $qid = "SELECT uid FROM priemka WHERE uid = '$uid'";
  3.     $uidres = $conn->query($qid);
  4.  
  5.     if ($qid->num_rows > 0)
  6.         { UPDATE
  7. }
  8.  

его
после
if ($result=='TRUE') или до него надо или где вообще?
myvin Отправлено: 08 Августа, 2018 - 10:23:13 • Тема: куда девается переменная? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 273
andrewkard пишет:
Думаю Вам стоит это прочесть: http://phpfaq.ru/newbie/na_tanke

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



а так без иронии если, тут почти каждый тычет каким то учебником, в котором мало нужного, по которому он и сам то не учился даже, ну либо не понимает, а обычный диванный эксперт-гугломейкер программирования. Я вопрос задал, как занести переменную за if, она погибает там, а не как вывести эхом текст. Если не понимаете или лень писать, можно было даже не напрягаться и писать какие то глупые ссылки
myvin Отправлено: 07 Августа, 2018 - 18:19:30 • Тема: куда девается переменная? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 273
имею код

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $val1 = $_POST['vid'];
  4. echo $val1;
  5. echo '<form action="#" method="post">';
  6. echo '<input type="hidden" name="select">';
  7. echo '<input type="submit" value="Выбрать">';
  8. echo '</form>';
  9. if (isset($_POST['select'])) {
  10. echo $val1;    
  11. echo '
  12. <form action="#" method="post">
  13. <select name="ids">
  14. <option value="1">iPhone</option>
  15. <option value="2">Samsung</option>
  16. <option value="3">Xiaomi</option>
  17. <option value="4">Meizu</option>
  18. <option value="5">Lenovo</option>
  19. </select>
  20. <input type="submit" value="Выбрать"></form>';
  21. }
  22.  


где после if (isset($_POST['select'])) { моя переменная умирает после нажатия кнопки sumbit. Как можно сделать чтоб она жила до самого конца? Если же в переменную $val1 записать просто какую то информацию, она живет вечно, а если там стоит $_POST - умирает. Просто не идет дальше, не могу ее подставить дальше в код, она просто становится пустой
myvin Отправлено: 07 Августа, 2018 - 14:14:42 • Тема: Динамический выбор SELECT • Форум: Вопросы новичков

Ответов: 2
Просмотров: 180
сразу к делу. Имеем код:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $mysql_database="mc";
  4. $mysql_username="root";
  5. $mysql_password="";
  6. $mysql_host="localhost";
  7. $db = mysql_connect($mysql_host, $mysql_username, $mysql_password);
  8. mysql_select_db($mysql_database,$db);
  9. $getraz = mysql_query("SELECT id_model,model,name FROM sklad WHERE id = 1",$db) or die(mysql_error());
  10. echo '<form action="action.php" method="post"><select name="baza_minus">';
  11. while ($myrow = mysql_fetch_array ($getraz)) {
  12. echo '<option value=' . $myrow['id_model'] . '>' . $myrow['model'] . '&nbsp;' . $myrow['name'] . '</option>';
  13. }
  14. ?>
  15. </select>
  16.  


как мы видим из кода, выведутся все столбцы в select, где каждый имеет свой option value= ['id_model'], который принадлежит к ID 1. Всё хорошо, у нас выводится вся информация в select, которая принадлежит ID 1. как мне сделать так, чтоб выше этого Select-а был еще один, где я мог выбрать ID 2, и ниже него уже попадали во второй select информация, которая принадлежит к id 2
myvin Отправлено: 31 Июля, 2018 - 15:39:21 • Тема: Требуется помошь в коде • Форум: Вопросы новичков

Ответов: 4
Просмотров: 222
Исправил так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <td class="tg-k4yd"><span style="font-weight:bold">' . $numid . '</span></td>
  3.  


Всем откликнувшимся спасибо
myvin Отправлено: 31 Июля, 2018 - 10:20:59 • Тема: не знаю как осуществить • Форум: Вопросы новичков

Ответов: 2
Просмотров: 162
Vladimir Kheifets пишет:
myvin пишет:
В общем тут без кода можно пояснить - в переменную приходить $_POST['id'], я пока новичек и не знаю как мне сделать так, что если содержимое переменной $_POST['id'] например 1, то в переменную $mod записать значение 71 год, если в переменной $_POST['id'] прилетело число 2, то в переменную $mod надо записать содержимое со значением 13 вася ну и так далее. Подскажите пожалуйста как это осуществить

Добрый день!
Как-то смущает: "ну и так далее..."
Если на это не обращать внимание, то можно так;
Спойлер (Отобразить)
Удачи!


Спасибо Закатив глазки........ ошибка синтаксиса Радость
myvin Отправлено: 30 Июля, 2018 - 19:31:26 • Тема: не могу настроить PHP редактор кода • Форум: Вопросы новичков

Ответов: 4
Просмотров: 246
finik пишет:
Всем привет. Помогите пож. настроить notepad++. Хочу пробовать php освоить.
когда пишу
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <head><title>"leonenko"</title> </head>
  3. <body>
  4. <?php
  5. echo "трям!";?>
  6.  
  7. <?PHP echo "Привет мир!"; ?>
  8.  
  9. </body>
  10.  
  11. </html>
  12.  


Код просто открываетcя в браузере.
короче... как блин запустить php скрипт в редакторе кода?
Что еще надо какой плагин поставить чтоб он отрабатывался ?

Скачай Denwer и положи файл этот по пути test1.ru\www
myvin Отправлено: 30 Июля, 2018 - 19:24:02 • Тема: как выполнить sql запрос из цикла while • Форум: Вопросы новичков

Ответов: 10
Просмотров: 429
все решилось проше, сделал скрытую форму, в которой присваивается конкретное значение переменной, добавил кнопку и обработчик в другом скрипте. На данный момент это для меня лучшее решение.
myvin Отправлено: 30 Июля, 2018 - 19:03:00 • Тема: не знаю как осуществить • Форум: Вопросы новичков

Ответов: 2
Просмотров: 162
В общем тут без кода можно пояснить - в переменную приходить $_POST['id'], я пока новичек и не знаю как мне сделать так, что если содержимое переменной $_POST['id'] например 1, то в переменную $mod записать значение 71 год, если в переменной $_POST['id'] прилетело число 2, то в переменную $mod надо записать содержимое со значением 13 вася ну и так далее. Подскажите пожалуйста как это осуществить
myvin Отправлено: 23 Июля, 2018 - 12:36:04 • Тема: как выполнить sql запрос из цикла while • Форум: Вопросы новичков

Ответов: 10
Просмотров: 429
Мелкий пишет:
Непосредственно внутри table не может быть form, кстати говоря. Внутри td - может быть.
Ваш браузер может ошибочную разметку переписывать странных образом.

И, опять же, где вы передаёте желаемый num_id с формы?
Возможно, у вас опыт разработки десктоп-приложений и вы просто не понимаете, когда именно работает php и соответствующую модель запрос-ответ, а не интерактивного приложения?

Нет, опыта у меня совсем нет, тут я полный нуб пока что, как говорится не побоюсь этого слова - дно )). Поэтому, увы.. и никто не может конкретным примером показать вот как в моем случае
myvin Отправлено: 23 Июля, 2018 - 12:01:11 • Тема: как выполнить sql запрос из цикла while • Форум: Вопросы новичков

Ответов: 10
Просмотров: 429
Мелкий пишет:
myvin пишет:
при нажатии информация нужная попадает в базу для всех строк разом

Потому что именно это поведение и написано у вас в скрипте.
Для каждой строки проверяется, пользователь нажал кнопку? (любую кнопку!) Если да, то обновим строку. Каждую строку.

Что делать:
miketomlin пишет:
Идентификатор конкретной записи указывайте в ссылке, в имени кнопки и т.п. Потом обрабатывайте запрос.

miketomlin пишет:
Значение $ident должно как-то передаваться в обработчик.

И обновлять только переданную с формы строку.

В том то всё и дело, что не получается почем то. Обновляется либо с самой нижней строки, независимо от того, на какую кнопку нажал, либо сразу для всех, если пытаешся что-либо изменить в коде
(Добавление)
Мелкий пишет:
myvin пишет:
при нажатии информация нужная попадает в базу для всех строк разом

Потому что именно это поведение и написано у вас в скрипте.
Для каждой строки проверяется, пользователь нажал кнопку? (любую кнопку!) Если да, то обновим строку. Каждую строку.

Что делать:
miketomlin пишет:
Идентификатор конкретной записи указывайте в ссылке, в имени кнопки и т.п. Потом обрабатывайте запрос.

miketomlin пишет:
Значение $ident должно как-то передаваться в обработчик.

И обновлять только переданную с формы строку.

PHP:
скопировать код в буфер обмена
  1. echo '<form action="" method="post">';
  2. echo '<input type="submit" name="action">';
  3. echo '</form>';
  4. if(isset($_POST['action']))
  5. {
  6. mysql_query("UPDATE priemka SET status2=1 WHERE num_id = '$ident'",$db) or die(mysql_error());
  7. }  
  8. }
  9. echo '</table>';

и обновляется для всех строк разом, весь столбец в mysql
myvin Отправлено: 23 Июля, 2018 - 11:46:43 • Тема: как выполнить sql запрос из цикла while • Форум: Вопросы новичков

Ответов: 10
Просмотров: 429
miketomlin пишет:
О каком конкретно действии идет речь? Если о просмотре, редактировании (именно редактировании, а не сохранении отредактированного), то достаточно простых ссылок и метода GET.

Для изменения и т.п. можно использовать чекбоксы, индивидуальные формы, кнопки с собственными обработчиками и т.п.
(Добавление)
Значение $ident должно как-то передаваться в обработчик.

Напишу так - имеется 5 столбцов в базе данных MySQL. Строк у этих столбцов может быть немерено, от 1 до там сотен тысяч (конечно когда их будет уже столько много, буду оптимизировать, не о этом речь), и каждая строка выводится на сайт циклом, то есть если строк в базе 500, то выводится 500 строк на сайт. Каждая отдельная строка имеет свой ID, который идет от 1 до.. до сколько строк в базе будет, столько и будет. В итоге мы имеем таблицу на сайте с каким то там числом строк. Мне нужно возле каждой строки кнопку, при нажатии на которую в определенный столбец базы данных будет вписана информация, но вписана она должна быть только строго для той строки, возле которой была нажата кнопка. То есть вывод информации у нас циклом while, и когда я вывожу кнопку sumbit для строки (они так же выводятся циклом while возле каждой), при нажатии информация нужная попадает в базу для всех строк разом, а не для конкретно той возле которой была нажата кнопка
myvin Отправлено: 22 Июля, 2018 - 15:53:28 • Тема: как выполнить sql запрос из цикла while • Форум: Вопросы новичков

Ответов: 10
Просмотров: 429
miketomlin пишет:
Идентификатор конкретной записи указывайте в ссылке, в имени кнопки и т.п. Потом обрабатывайте запрос.

Вот, например, почитайте мою статью Как сделать вывод списка статей? и обязательно комменты к ней, т.к. в самой стать предполагается использование движка, который сам выбирает отдельные записи.
(Добавление)
P.S. Вот это переливание из пустого в порожнее: $numid = $myrow['num_id']; и т.п.

Используйте какое-нибудь современное расширение для работы с БД, например mysqli.

В шаблоне лучше использовать альт. синтаксис (см. шаблоны в статье).

Соединение с базой лучше закрывать до выполнения шаблонов или вообще этого не делать, полагаясь на «сборку мусора».

Чуть переделал код, но все равно не то, что требуется.
PHP:
скопировать код в буфер обмена
  1. while ($myrow = mysql_fetch_array ($sql)) {
  2. $ident = $myrow['num_id'];
  3. echo '<tr>';
  4. echo '<td class="tg-4z1q">' . $myrow['num_id'] . '</td>';
  5. echo '<td class="tg-gby1">' . $myrow['data_vremya'] . '</td>';
  6. echo '<td class="tg-gby1">' . $myrow['marka'] . '&nbsp;' . $myrow['model'] . '</td>';
  7. echo '<td class="tg-gby1">' . $myrow['polomka'] . '</td>';
  8. echo '<td class="tg-gby1">' . $myrow['fio'] . '</td>';
  9. echo '<td class="tg-gby1">' . $myrow['number_k'] . '</td>';
  10. echo '<td class="tg-gby1">' . $myrow['complect'] . '</td>';
  11. echo '<td class="tg-gby1">' . $myrow['tsena'] . '</td>';
  12. echo '<td class="tg-gby1">' . $myrow['masters'] . '</td>';
  13. echo '<td class="tg-gby1">' . $myrow['imei'] . '&nbsp;' . $myrow['ser_num'] . '</td>';
  14. echo '<td class="tg-gby1">' . $myrow['zametki'] . '</td>';
  15. echo '</tr>';
  16. echo '<form action="" method="post">';
  17. echo '<input type="submit" name="action">';
  18. echo '</form>';
  19. if(isset($_POST['action']))
  20. {
  21. mysql_query("UPDATE priemka SET status2=1 WHERE num_id = '$ident'",$db) or die(mysql_error());
  22. }  
  23. }
  24. echo '</table>';

и действие применяется не к одной строке status2, а ко всем строкам сразу, имеющимся в таблице, а нужно только строго к той строке, напротив которой я нажму на кнопку (имеется скажем html таблица с 10 строк, при нажатии на кнопку submit, значение столбца status2 меняется сразу во всех строках, а не только к той, возле которой кнопка
myvin Отправлено: 22 Июля, 2018 - 13:58:10 • Тема: как выполнить sql запрос из цикла while • Форум: Вопросы новичков

Ответов: 10
Просмотров: 429
Имеем код
PHP:
скопировать код в буфер обмена
  1. while ($myrow = mysql_fetch_array ($sql)) {
  2. $numid = $myrow['num_id'];
  3. $vremya = $myrow['data_vremya'];
  4. $mas = $myrow['masters'];
  5. $marka = $myrow['marka'];
  6. $model = $myrow['model'];
  7. $number = $myrow['number_k'];
  8. $fio = $myrow['fio'];
  9. $imei = $myrow['imei'];
  10. $sernum = $myrow['ser_num'];
  11. $compl = $myrow['complect'];
  12. $tsena = $myrow['tsena'];
  13. $nepoladka = $myrow['polomka'];
  14. $zametki = $myrow['zametki'];
  15. echo '<tr>';
  16. echo '<td class="tg-4z1q">' . $numid . '</td>';
  17. echo '<td class="tg-gby1">' . $vremya . '</td>';
  18. echo '<td class="tg-gby1">' . $marka . '&nbsp;' . $model . '</td>';
  19. echo '<td class="tg-gby1">' . $nepoladka . '</td>';
  20. echo '<td class="tg-gby1">' . $fio . '</td>';
  21. echo '<td class="tg-gby1">' . $number . '</td>';
  22. echo '<td class="tg-gby1">' . $compl . '</td>';
  23. echo '<td class="tg-gby1">' . $tsena . '</td>';
  24. echo '<td class="tg-gby1">' . $mas . '</td>';
  25. echo '<td class="tg-gby1">' . $imei . '&nbsp;' . $sernum . '</td>';
  26. echo '<td class="tg-gby1">' . $zametki . '</td>';
  27. echo '</tr>';
  28. }
  29. echo '</table>';

, данный код нам выдает все нужные строки в таблицу. Не пойму как сделать после конца каждой строчки кнопку, при нажатии на которую будет выполнен SQl запрос к базе данных MySQl, и будет действовать только на определенный ID строки. Например у нас в базе три строки, выводим все три строки из базы циклом while, и нам нужно чтоб при нажатии каждой кнопки, запрос в базу выполнялся именно с идентификатором конкретной строчки. То есть я нажму на кнопку возле третьей строки, именно третья строка пошлет запрос в базу данных
myvin Отправлено: 22 Июля, 2018 - 13:12:48 • Тема: Требуется помошь в коде • Форум: Вопросы новичков

Ответов: 4
Просмотров: 222
Так никто пока и не нашел решение, блин)))

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB