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

Форум MySQL

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

 

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

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

тема: обновление записи.
 
 автор: rtland   (01.09.2008 в 00:32)   письмо автору
 
 

Подскажите пожалуйста как сделать чтоб после удаление записи.

например:
у меня 5 записей в базе 'rut'
id1 id2 id3 id4 id5 я удалил id4 и после удаления должно стать вот так теперь id1 id2 id3 id4 а не так

id1 id2 id3 id5 и чтоб после добовление другой записи началось с id5 а не с id6

Подскажите пожалуйста как сформировать такой код. ?

  Ответить  
 
 автор: Trianon   (01.09.2008 в 00:41)   письмо автору
 
   для: rtland   (01.09.2008 в 00:32)
 

Я изрядно устал, когда последний раз боролся с автором подобной идеи.
Вас не затруднит заглянуть в http://softtime.ru/forum/read.php?id_forum=3&id_theme=57099,
попытаться понять, что там написано, после чего убить в себе напрочь мысль менять у записи первичный ключ?

  Ответить  
 
 автор: rtland   (01.09.2008 в 01:04)   письмо автору
 
   для: Trianon   (01.09.2008 в 00:41)
 

Ну я почитал что там написано, конечно не года не понял.

ну я тогда подругому задам вопрос.

вот существуют два запроса один выводит не зависимо какое там стоит значение ID чисто 1.2.3.4 и так далее.

а вот второй выводит именно то значение которое там установлено если 1 то 1 если 120 то 120
вот мне нужен пример именно такого запроса.

просто у меня в форме стоит выборка по кодам и если он отправит запрос 1 а там такого не будет то просто мне выведит NaN .

я надеюсь вы поняли что я хачу.

  Ответить  
 
 автор: Valick   (01.09.2008 в 01:07)   письмо автору
 
   для: Trianon   (01.09.2008 в 00:41)
 

Просто у людей возникает скорее всего аналогия БД с обычным массивом (ID -ключ / поле - значение), а должна возникать с ассоциативным массивом, где значение без ключа теряет смысл.

  Ответить  
 
 автор: rtland   (01.09.2008 в 01:25)   письмо автору
 
   для: Trianon   (01.09.2008 в 00:41)
 

А нет так не получится.

я вывожу с базы

такие значения 1.34,2.32,1.01,5.34, конечно через $prh=[0, $redw = PRH(); ];

а потом он соединяется $cena=$prh[$tovar];
под значение $tovar подставляется id товара и таким путем происходит выборка.
и когда я посылаю запрос на товар то к этому товару подсоединяется эта цена если id1 то 1.34

а если id2 то 2.32 . а когда я цену с товаром удалил и добавил место них другие цены и товары то они уже записались под ID5 и так далее а у меня там 4 значения получается что при запросе id5 там нет цены.

  Ответить  
 
 автор: Trianon   (01.09.2008 в 01:40)   письмо автору
 
   для: rtland   (01.09.2008 в 01:25)
 

почему нет?
Есть. Если Вы добавили товар id=5 то и цену для этого товара тоже ж добавили.

  Ответить  
 
 автор: rtland   (01.09.2008 в 02:00)   письмо автору
 
   для: Trianon   (01.09.2008 в 01:40)
 

Добавил да .
вот пример:
Первоначально как было.

1.23,2.34,5.46,2.34,
1 2 3 4

я их удалил стали другие цены но в базе данных они уже под id5 и выше это мне прийдется делать так
0,0,0,0,2.46,3.43, и так далее
а мне нужно их сместить или id переписывать чтоб небыло пробелов.
или как то подругому можно?

короче все это выглядит примерно так:

<?
function PRL(){
$q "SELECT prod FROM system";
$res mysql_query($q);
while(
$row mysql_fetch_array($res)):
$prod $row["prod"];
echo (
"$prod,");
endwhile;
}
function 
PRH(){
$q "SELECT pokup FROM system";
$res mysql_query($q);
while(
$row mysql_fetch_array($res)):
$pokup $row["pokup"];
echo (
"$pokup,");
endwhile;
}
  
?>
<SCRIPT language="JavaScript">
function test() {
if (document.form.sum.value == "0") {alert ("Сумма не должна равнятся нулю");} else
if (document.form.wmid.value.length != "12") {alert ("Неверный номер WMID. Введите его в формате 12 цифр");} else
if (document.form.wmz.value=='') {alert("Не указан номер кошелька");} else
if (!(/^z[0-9]{12}$/i).test(document.form.wmz.value)) {alert ("Неверный номер кошелька. Введите его в формате Z + 12 цифр");} else
if (document.form.email.value=='') {alert ("Не указан eMail");} else
if (!(/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(document.form.email.value)) {alert ("Не корректный email адрес");} else
if (document.form.log.value == "") {alert ("Не указан логин");} else
if (document.form.comment.value.length > 200) {alert ("Максимальный размер комметария 200 букв.");} else
if (document.form.sale.value == "купить") {document.form.submit();} else
{document.form.submit()}
}
function ChSum(data){
prl=[0,<? $rede PRH(); ?>];     вот тут выглядит так [0,1.23,2.34,4.32,5.76,];
prh=[0,<? $redw PRL(); ?>];
 if (data.sale.value == "продать")
{
data.itog.value = "Вы получите:";
data.sum.value=data.kol.value*prl[data.syst.value]/1000;
if  (data.kol.value < 500) data.sum.value=data.sum.value-0.03;
data.sum.value=Math.round(data.sum.value*100-0.499)/100;
//data.sum.value=data.sum.toFixed(2);
if  (data.sum.value < 0) data.sum.value = 0;
}
else
if (data.sale.value == "купить")
{
data.itog.value = "Вы заплатите: ";
data.sum.value=Math.round(data.kol.value*prh[data.syst.value]/10+0.49)/100;
if  (data.sum.value < 0) data.sum.value = 0;
}
};
</script>


            <FORM name="form" action="send.php" method="post">
            <TABLE width="500">
              <TBODY>
              <TR>
                <TD>Вы хотите </TD>
                <TD><SELECT onchange=ChSum(this.form) name="sale"> <OPTION
                    value="продать" selected>продать</OPTION> <OPTION
                    value="купить">купить</OPTION></SELECT> </TD>
                <TD>Ваш WMID :</TD>
                <TD><INPUT class="forminput" id="wmid" maxLength="30" name="wmid">
              </TD></TR>
              <TR>
                <TD>Товары </TD>
                <TD><SELECT onchange=ChSum(this.form) name="syst" width="50">
             <?   $res mysql_query("select * from system order by id asc");
    for (
$i 0$i mysql_num_rows($res); $i++) {
    
$id mysql_result($res$i"id");
    
$syst mysql_result($res$i"syst");
     
?>
                    <OPTION value="<? echo $id ?>"selected><? echo $syst ?></OPTION>
                   <? ?></SELECT> </TD>
                <TD>Ваш WMZ :<span style="color: rgb(255, 0, 0);">*</span></TD>
                <TD><INPUT class="forminput" id="wmz" maxLength="30" name="wmz">
</TD></TR>
              <TR>
                <TD>Количество :<span style="color: rgb(255, 0, 0);">*</span></TD>
                <TD><INPUT class="forminput" id="kol" maxLength="20"
                  onchange=ChSum(this.form) size=11 name="kol"> </TD>
                <TD>Ваш e-mail :<span style="color: rgb(255, 0, 0);">*</span></TD>
                <TD><INPUT class="forminput" id="email" maxLength="60" name="email">
                </TD></TR>
              <TR>
                <TD><INPUT class="forminput" id="itog" readOnly maxLength="20" size=12 value="Вы получите:" name="itog">
                </TD>
                <TD><INPUT class="forminput" id="sum" readOnly maxLength="20" size=9 name="sum"></TD>
                <TD>Ваше имя :<span style="color: rgb(255, 0, 0);">*</span></TD>
                <TD><INPUT class="forminput" id="log" maxLength="50" name="log"> </TD>
              <TR>
                <TD colSpan=4 height=2>
                  <CENTER>Комментарий (если необходимо):<BR><TEXTAREA name="comment" rows=3 cols=55 value=""></TEXTAREA>
                  <BR><INPUT onclick=test(); type="button" value="Отправить заявку" name="button">
                  </CENTER></TD></TR></TBODY></TABLE></FONT></FORM>


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

  Ответить  
 
 автор: sim5   (01.09.2008 в 07:44)   письмо автору
 
   для: rtland   (01.09.2008 в 02:00)
 

Тетя Ася купила в вашем магазине порошок Лотос, и сохранила себе в избранном ссылку на него, как http://yourshop.com/pid=5, в надежде прикупить у вас еще пачек пять в последствии. У тети Аси кончился порошок и она отправилась в ваш магазин по сохраненной ссылке. Каково было удивление тети Аси, когда вместо порошка на этой странице, она увидела предложение о мужском одеколоне!
В то же время, тетя Ася покупала и у меня порошок Лотос, и также сохранила ссылку на него, как http://myshop.com/pid=125. Но у меня этот порошок больше не продается, поэтому тетя Ася прочла сообщение на моей странице: "Мы весьма сожалеем, но данного товара в магазине нет. Мы можем Вам предложить...".
Вопрос, кого будет материть тетя Ася - вас или меня?

  Ответить  
 
 автор: rtland   (01.09.2008 в 14:03)   письмо автору
 
   для: sim5   (01.09.2008 в 07:44)
 

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

А у вас в куче всяких ссылок она просто запутается, и даже если тот товар что она покупала уже устарел ей все ровно придется покупать его или тот что вы ей посоветуете.

У каждого человека есть свой выбор. что покупать и у кого.

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

  Ответить  
 
 автор: sim5   (01.09.2008 в 14:52)   письмо автору
 
   для: rtland   (01.09.2008 в 14:03)
 

>А у вас в куче всяких ссылок она просто запутается,

Это вы ошибаетесь милейший, все на главной странице не выставишь. А вот задумка ваша, заполнять удаленные уникальные записи ниже стоящими, это полная профанация. Я не против, идите дальше...

  Ответить  
 
 автор: rtland   (01.09.2008 в 15:13)   письмо автору
 
   для: sim5   (01.09.2008 в 14:52)
 

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

  Ответить  
 
 автор: Trianon   (01.09.2008 в 11:31)   письмо автору
 
   для: rtland   (01.09.2008 в 02:00)
 

функции PRL() и PRH() нужно выкинуть.
И написать вместо них функцию, формирующую ассоциативный массив
price  = { '1': 1.23, '2': 2.34, '3': 5.46, '4': 2.34 };

После чего к ценам обращаться по ключам соответствующих товаров.

  Ответить  
 
 автор: rtland   (01.09.2008 в 13:53)   письмо автору
 
   для: Trianon   (01.09.2008 в 11:31)
 

А все разобрался.

Спасибо всем. За помощь.

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

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