Перейти к содержимому

Фотография

PHPвопросы по PHP


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 411

#61
УважухА

УважухА
  • Свой человек
  • 778 сообщений
залил базу на сайт
там стоит phpMyAdmin 2.6.4-pl2
у меня все в кодировке Windows-1251, а из базы-KOI8-R
как поменять?
Какой должен быть запрос?
  • 0

#62
УважухА

УважухА
  • Свой человек
  • 778 сообщений

залил базу на сайт
там стоит phpMyAdmin 2.6.4-pl2
у меня все в кодировке Windows-1251, а из базы-KOI8-R
как поменять?
Какой должен быть запрос?


все
  • 0

#63
УважухА

УважухА
  • Свой человек
  • 778 сообщений
Народ, помогите, плз...
Замутил страничку через которую можно добавлять новости

<?php
$query = "SELECT * FROM news";
$result = mysql_query($query) or die("Query failedddd");
$num_rows = mysql_num_rows($result);

$id=$num_rows+1;
$title=$_POST['title'];
$text=$_POST['text'];

$query = "insert into news values ($id , '$title', '$text')";
mysql_query($query) or die("Query failed");

mysql_free_result($result);

mysql_close($link);
?>

все, ок.
одна трабла
Как замуть чтоб если эти формы пустые, то ничего не делать, т.е. не добавлять пустые записи в таблицу?
а то простое обновление и пустая строка уже в базе...
  • 0

#64
Dik2

Dik2
  • Завсегдатай
  • 148 сообщений
if (!isset($_POST['title']) or $_POST['title']==""){
echo "Ошибка"
}
elseif (!isset($_POST['title']) or $_POST['text']==""){
echo "Ошибка"
}
else { ....твой корд....}
  • 0

#65
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

залил базу на сайт
там стоит phpMyAdmin 2.6.4-pl2
у меня все в кодировке Windows-1251, а из базы-KOI8-R
как поменять?
Какой должен быть запрос?

в ветке "Программирование" это уже обсуждалось.
  • 0

#66
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

залил базу на сайт
там стоит phpMyAdmin 2.6.4-pl2
у меня все в кодировке Windows-1251, а из базы-KOI8-R
как поменять?
Какой должен быть запрос?

в ветке "Программирование" это уже обсуждалось.

http://vse.kz/index....showtopic=64091
  • 0

#67
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

if (!isset($_POST['title']) or $_POST['title']==""){
echo "Ошибка"
}
elseif (!isset($_POST['title']) or $_POST['text']==""){
echo "Ошибка"
}
else { ....твой корд....}


if ( empty($_POST['title']) ){
echo "Ошибка"
}...
  • 0

#68
XaHyMaH

XaHyMaH

    हनुमान

  • В доску свой
  • 3 152 сообщений

Как замуть чтоб если эти формы пустые, то ничего не делать, т.е. не добавлять пустые записи в таблицу?


Ну во-первых, это у тебя что: $id=$num_rows+1;
Если $id это уникальный идентификатор новости, то лучше это сделать по-другому. В базе сделать это поле ключевым с auto_increment, чтоб мускл заботился о нем сам. И не надо будет его вставлять явно в запросе.

А ответ содержится в твоей фразе: "если формы пустые, то ничего не делать".
Или "если формы не пустые, то делать", что на php звучит так:
if (!empty($_POST['title']) AND !empty($_POST['title'])) {
...
}

Успехов.
  • 0

#69
УважухА

УважухА
  • Свой человек
  • 778 сообщений
echo "<td width='%'><input type='text' width='500' value='".$theme."' name=''></td>";

Почему не применяется width='500'? :D
  • 0

#70
kornel

kornel
  • В доску свой
  • 9 069 сообщений
потому что у объекта input нет свойства with
попробуй style='with:500px;'
  • 0

#71
oceco

oceco
  • Частый гость
  • 64 сообщений
У тега input нет аттрибута wiDth

Так
<input аттрибуты style='wiDth:500'>
верно
  • 0

#72
УважухА

УважухА
  • Свой человек
  • 778 сообщений
пасиба получилось...

У меня еще такой вопрос.

я вытащил инфу из базы, для ее редактирования в таком виде:

<?php
  $query = "select * from diplom"; 
  $result = mysql_query ($query) or die ("Query failed");
  echo "<tr bgcolor=\"#95ABC4\">";
  echo "<td width=\"70\" height=\"25\"><p class=\"titlep\" style=\"color:#FFFFFF\">ФИО</p></td>";
  echo "<td width=\"90\"><p class=\"titlep\" style=\"color:#FFFFFF\">Группа</p></td>";
  echo "<td width=\"%\"><p class=\"titlep\" style=\"color:#FFFFFF\">Тема</p></td>";
  echo "<td width=\"80\"><p class=\"titlep\" style=\"color:#FFFFFF\">Руководитель</p></td>";
  echo "<td width=\"110\"><p class=\"titlep\" style=\"color:#FFFFFF\">Выполнено, %</p></td>";
  echo "</tr>"; 
	while ($line = mysql_fetch_array($result)) 
	  {
		  $student = $line['student'];
		  $group = $line['group'];
		  $theme = $line['theme'];
		  $ruk = $line['ruk'];
		  $howmuch = $line['howmuch'];

		  echo "<tr><form action='edit.php' method='post'>"; 
		  echo "<td width=\"70\"><input type='text' value='".$student."' name='student'></td>"; 	
		  echo "<td width=\"90\"><input type='text' value='".$group."' name='group'></td>";
		  echo "<td width='%'><input type='text' value='".$theme."' name='theme' style='width:388'></td>";
		  echo "<td width=\"80\"><input type='text' value='".$ruk."' name='ruk'></td>";
		  echo "<td width=\"110\"><input type='text' value='".$howmuch."' name='howmuck'></td>";
		  echo "</form></tr>";
	  }
?>

Добустим я ее поредактировал в этих input type='text' и хочу сохранить...

дописываю

$s=$_POST['student'];
$g=$_POST['group'];
$t=$_POST['theme'];
$r=$_POST['ruk'];
$h=$_POST['howmuch'];

$query = "insert into diplom values ($s , '$g', '$t, '$r', '$h')";
mysql_query($query) or die("не вставил");
						
mysql_free_result($result);
mysql_close($link);

Он мне грит:

Notice: Undefined index: student in z:\home\ect.kz\www\dip_edit.php on line 63

В чем трабла? Что это может быть, подскажите плз...

короче полный код у меня такой

<?php
include "connect.php";
?>

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<link rel="stylesheet" href="style.css" type="text/css">
<body class="tt">
<table width="%" border="1" align="center" bordercolor="#FFFFFF" cellpadding="0" cellspacing="0">
<p class="title" align="center" style="margin-top:15; color:#FFFFFF;" > Редактирование графика выполнения дипломных работ</p>
<?php
$query = "select * from diplom";
$result = mysql_query ($query) or die ("Query failed");
echo "<tr bgcolor=\"#95ABC4\">";
echo "<td width=\"70\" height=\"25\"><p class=\"titlep\" style=\"color:#FFFFFF\">ФИО</p></td>";
echo "<td width=\"90\"><p class=\"titlep\" style=\"color:#FFFFFF\">Группа</p></td>";
echo "<td width=\"%\"><p class=\"titlep\" style=\"color:#FFFFFF\">Тема</p></td>";
echo "<td width=\"80\"><p class=\"titlep\" style=\"color:#FFFFFF\">Руководитель</p></td>";
echo "<td width=\"110\"><p class=\"titlep\" style=\"color:#FFFFFF\">Выполнено, %</p></td>";
echo "</tr>";
while ($line = mysql_fetch_array($result)) {
$student = $line['student'];
$group = $line['group'];
$theme = $line['theme'];
$ruk = $line['ruk'];
$howmuch = $line['howmuch'];

echo "<tr><form action='dip_edit.php' method='post'>";
echo "<td width=\"70\"><input type='text' value='".$student."' name='student'></td>";
echo "<td width=\"90\"><input type='text' value='".$group."' name='group'></td>";
echo "<td width='%'><input type='text' value='".$theme."' name='theme' style='width:388'></td>";
echo "<td width=\"80\"><input type='text' value='".$ruk."' name='ruk'></td>";
echo "<td width=\"110\"><input type='text' value='".$howmuch."' name='howmuck'></td>";
echo "</form></tr>";
}

$s=$_POST['student'];
$g=$_POST['group'];
$t=$_POST['theme'];
$r=$_POST['ruk'];
$h=$_POST['howmuch'];

$query = "insert into diplom values ($s , '$g', '$t, '$r', '$h')";
mysql_query($query) or die("не вставил");

mysql_free_result($result);

mysql_close($link);
?>

</table>
<p align="center">
<form action="dip_edit.php" method="post">
<input type="submit" value="Сохранить" >
</form>
</p>
</body>
</html>
  • 0

#73
oceco

oceco
  • Частый гость
  • 64 сообщений
Обрати внимание на аттрибут name тега input
echo "<td width=\"110\"><input type='text' value='".$howmuch."' name='howmuck'></td>";

у тебя в переменных - $howmuch, а в name howmuck

вот и вся проблема

да и еще, убери вторую форму перед сабмитом :D

к тому же код в echo можно обычной разметкой html (вне <?php ?> конечно) вставить, зачем париться с " и ' ?

Сообщение отредактировал oceco: 17.02.2006, 14:35:49

  • 0

#74
PRO1rock1

PRO1rock1

    Специальный прохожий

  • В доску свой
  • 2 273 сообщений

пасиба получилось...

У меня еще такой вопрос.

я вытащил инфу из базы, для ее редактирования в таком виде:

<?php
  $query = "select * from diplom"; 
  $result = mysql_query ($query) or die ("Query failed");
  echo "<tr bgcolor=\"#95ABC4\">";
  echo "<td width=\"70\" height=\"25\"><p class=\"titlep\" style=\"color:#FFFFFF\">ФИО</p></td>";
  echo "<td width=\"90\"><p class=\"titlep\" style=\"color:#FFFFFF\">Группа</p></td>";
  echo "<td width=\"%\"><p class=\"titlep\" style=\"color:#FFFFFF\">Тема</p></td>";
  echo "<td width=\"80\"><p class=\"titlep\" style=\"color:#FFFFFF\">Руководитель</p></td>";
  echo "<td width=\"110\"><p class=\"titlep\" style=\"color:#FFFFFF\">Выполнено, %</p></td>";
  echo "</tr>"; 
	while ($line = mysql_fetch_array($result)) 
	  {
		  $student = $line['student'];
		  $group = $line['group'];
		  $theme = $line['theme'];
		  $ruk = $line['ruk'];
		  $howmuch = $line['howmuch'];

		  echo "<tr><form action='edit.php' method='post'>"; 
		  echo "<td width=\"70\"><input type='text' value='".$student."' name='student'></td>"; 	
		  echo "<td width=\"90\"><input type='text' value='".$group."' name='group'></td>";
		  echo "<td width='%'><input type='text' value='".$theme."' name='theme' style='width:388'></td>";
		  echo "<td width=\"80\"><input type='text' value='".$ruk."' name='ruk'></td>";
		  echo "<td width=\"110\"><input type='text' value='".$howmuch."' name='howmuck'></td>";
		  echo "</form></tr>";
	  }
?>

Добустим я ее поредактировал в этих input type='text' и хочу сохранить...

дописываю

$s=$_POST['student'];
$g=$_POST['group'];
$t=$_POST['theme'];
$r=$_POST['ruk'];
$h=$_POST['howmuch'];

$query = "insert into diplom values ($s , '$g', '$t, '$r', '$h')";
mysql_query($query) or die("не вставил");
						
mysql_free_result($result);
mysql_close($link);

Он мне грит:

Notice: Undefined index: student in z:\home\ect.kz\www\dip_edit.php on line 63

В чем трабла? Что это может быть, подскажите плз...

короче полный код у меня такой

На сколько я понимаю в sql-запросах. Если вытаскиваешь инфу для редактироания, то обратно ее нужно заливать не INSER'том, а UPDATE'том. Т.е. обновление базы данных не новыми данными, а измененными. Ну мне так кажется. Очень может быть, что я не прав :0)

Во всяком случае, я делал именно так. Когда доставал инфу из базы для изменения. Если я не прав, то не бейте слишком сильно. Я ведь тока учусь :D
  • 0

#75
oceco

oceco
  • Частый гость
  • 64 сообщений
Вы очень даже правы.
Оператор INSERT отвечает за вставку строк, а UPDATE за изменения.
  • 0

#76
PRO1rock1

PRO1rock1

    Специальный прохожий

  • В доску свой
  • 2 273 сообщений
Народ! Кто знает? Как в ПХП оформить такое условие:
--------------------------
if($page==" ")
{
$page==1;
}
echo $page;
--------------------------
Как присваивается вообче?
У меня на "денвере" эта шняга работает, а на реальном серваке не хочет! Весь день мозги себе с этим прое...л! Извините за выражение. Никак не получается. :)
Если кто знает - подскажите, а?
  • 0

#77
kornel

kornel
  • В доску свой
  • 9 069 сообщений
== - оператор сравнения.
= - оператор присваивания
  • 0

#78
PRO1rock1

PRO1rock1

    Специальный прохожий

  • В доску свой
  • 2 273 сообщений

== - оператор сравнения.
= - оператор присваивания

Не получается :)
Мне надо сравнить если переменная $page=пуста. т.е. ничему не равна, то надо привоить этой переменной 0. А ничерта не выходит.
когда делаешь эхо, то ничего не выводит.
  • 0

#79
Keyo

Keyo
  • Завсегдатай
  • 182 сообщений
$page == null или empty($page)
а вообще лучше бы весь код глянуть.
мне почему то кажется что возможно из за register_globals
  • 0

#80
oceco

oceco
  • Частый гость
  • 64 сообщений
if($page==""){$page="0"}

и правда.. весь код нужен, так слету не скажу
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.