нужна помощь в PHP

Тема в разделе "PHP", создана пользователем seobeginner, 9 авг 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. seobeginner

    seobeginner ищу кнопку бабло

    Регистр.:
    5 июл 2008
    Сообщения:
    224
    Симпатии:
    57
    Есть код


    <form method=post>
    <td width=12% align=center>
    <input type=text name=dr[$i] value='$row[8]' size=3 ></td>
    <input type=submit value='Сохранить' class=field2></form>


    Нужно сделать, чтобы при вводе в input числа меньше минимального, всегда ставилось это минимальное число или если 0, то оставался 0?
     
  2. dee_motard

    dee_motard

    Регистр.:
    26 июл 2008
    Сообщения:
    247
    Симпатии:
    76
    а причем тут пхп? Это делается яваскриптом..
    я не мегаспец, не гарантирую что будет работать, но выглядеть должно примерно так


    PHP:
     <head>
      <
    script>
          function 
    checkfield()
            {
        var 
    temp parseInt (document.apple.banana.value);
        if (
    isNaN (temp))
            
    document.apple.banana.value=0;
        if (
    temp<0)
            
    document.apple.banana.value=0;
            }
      
    </script>
     </head>
     <body>

    <form name=apple method=post>
    <td width=12% align=center>
    <input type=text name=dr[$i] value='$row[8]' size=3 ></td>
    <input type=submit value='Сохранить' class=field2 name=banana onClick="checkfield();"></form>

    </body>

     
  3. seobeginner

    seobeginner ищу кнопку бабло

    Регистр.:
    5 июл 2008
    Сообщения:
    224
    Симпатии:
    57
    потому что реализовать нужно в пхп!

    Реализовал вот так:
    If ($_POST['dr[$i]']<10) { $row[8]=10;}
    Все ок.. работает
    а как реализовать, чтобы если 0, то значение 0, если >0, но<10, то $row[8]=10;}
    Пробовал вот так:
    If (($_POST['dr[$i]']>0) AND ($_POST['dr[$i]']<10)) { $row[8]=10;}
    Но не прет, оставляет любое введенное значение.
     
  4. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    $v =& $_POST["dr[$i]"];
    $min = 10;

    if ($v != 0) {
    $v = ($v < $min) ? $min : $v;
    }

    Вот и всё :)
    пс. заметь, именно $_POST["dr[$i]"], т.к. в апострофах не вставляется твой $i
    пс2. ссылка вставлена чтобы писать меньше.. Уберешь - будет быстрее работать ;)
     
  5. anarki

    anarki Прохожие

    Ссылка это & ? Она тут нафиг не нужна.
     
  6. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    опять ты, умник. Можно просьбу? Читай пост полностью.

    пс. пора в правила форума добавить "перед ответом прочитай предыдущий пост ПОЛНОСТЬЮ и ВНИМАТЕЛЬНО"....
     
  7. anarki

    anarki Прохожие

    Я это видел, поясни как "можно писать больше без нее" и отчего получается меньше писанины с ней?
    Скорее ты запутаешь автора.
     
  8. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    PHP:
    $min 10;

    if (
    $_POST["dr[$i]"] != 0) {
    $_POST["dr[$i]"] = ($_POST["dr[$i]"] < $min) ? $min $_POST["dr[$i]"];
    }
    Вот. нет ссылки, работа напрямую с _постом.
     
  9. pslava

    pslava

    Регистр.:
    16 май 2007
    Сообщения:
    618
    Симпатии:
    122
    В случае когда $_POST["dr[$i]] равен нулю, то переменная $_POST["dr[$i]] будет не определенна, поэтому нужно писать так:

    $res=0;
    if (!empty($_POST["dr[$i]])){
    if ($_POST["dr[$i]]<$min)
    $res=$min;
    else
    $res=$_POST["dr[$i]];
    }

    и в переменной $res будет твой результат.
     
  10. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Сам понял что написал?
     
Статус темы:
Закрыта.