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

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

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

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Попробовал так:
    Code:
     $amount2 = mysql_query("SELECT MAX(id) AS id FROM table");
     $count2 = mysql_fetch_array($amount2);
     
     $result2 = mysql_query ("DELETE * FROM table WHERE id=$count2[id]");
    
    и так:
    Code:
     $amount2 = mysql_query("SELECT MAX(id) FROM table");
     $count2 = mysql_fetch_array($amount2);
     
     $result2 = mysql_query ("DELETE * FROM table WHERE id='$count2[0]'");
    
    Не хочет(
     
  2. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    вот это только что сработало у меня на компе
    PHP:
    <?php
     mysql_connect
    ("localhost","root","root") or die("connect error");
     
    mysql_select_db("shop");
     
    $sql mysql_query("SELECT MAX(id) from shop_bk") or die("<font color=red>query error</font>");
     
    $count mysql_fetch_array($sql);

     
    $sql mysql_query("DELETE FROM shop_bk WHERE id=$count[0]") or die("query error");
     
    mysql_close();
     echo 
    "<font color=green>COMPLETED</font>";
    ?>
    там при delete "*" ставить не надо
     
    #16002 SHiNiGaMi, 30 Jul 2010
    Last edited: 30 Jul 2010
  3. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Да, ты прав, всё дело в "*"
    Спасибо огромое:)
     
  4. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Подскажите с кодировкой.
    В общем дело такое есть сайт с которого паршу у него стоит кодировка UTF-8 как показывает мне браузер.
    Есть скрипт сохранил его просто как UTF-8 и никакие другие функции по поводу кодировки не дописывал и не указывал в нем.
    Данный скрипт выводит на экран спаршенные данные в формате натали ты РІ РёРіСЂРµ? и показывает кодировку Win-1251.
    Эти данные потом записываются в базу в таком же виде но как я тока там не меняю кодировку в нормальный вид они не становятся.
    База тоже имеет кодировку UTF-8 general_ci
    Подскажите как сделать чтобы все писалось в понятном для человека виде без всяких манипуляций в браузере?
     
    #16004 Rastamanka, 30 Jul 2010
    Last edited: 30 Jul 2010
  5. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    1) проверь точно ли в utf-8 сохранил
    2) в мета пропиши charset

    p.s. а вообще методом тыка лучше всего) не правильно, но работает. я с кодировками так часто делаю, т.к. времени нет разобраться
     
  6. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Я понимаю конечно что можно дальше так работать и из базы в нормальном виде все будет выводиться.
    Но боюсь что потом когда встанет вопрос о переносе базы у меня будут с этим траблы.
     
  7. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Code:
    AddDefaultCharset utf-8
    AddCharset utf-8 *
    <IfModule mod_charset.c>
        CharsetSourceEnc utf-8
        CharsetDefault utf-8
    </IfModule>
    
    в .htaccess

    ...
    если не получиться, попробуйте закомментировать и добавить ютф
    # AddDefaultCharset WINDOWS-1251
    AddDefaultCharset utf-8
     
    #16007 Andres, 30 Jul 2010
    Last edited: 30 Jul 2010
  8. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Andres, вся соль в том что надо
    DELETE FROM
    а не DELETE * FROM
    а ещё делай
    mysql_query(...)or die(mysql_error());
    и всё сам исправиш
     
  9. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Добрый день.
    Есть код который парсит сообщение и заносит его в переменную $msg далее ищется вхождение в этом сообщении знак вопроса из переменной $find. Если такой присутсвует то добавлять это сообщение в базу.
    Вопрос как добавить в этот код еще сравнение чтобы к примеру есть массив с 2 -мя(будут добавляется постоянно) значениями или более к примеру 1 => привет, 2 => пока чтобы эти значения сравнивались с полученным текстом по очереди и если такой текст в сообщении присутствует то не заносить его в базу даже если там присутвует знак вопроса.
    PHP:
    $msg $text["2"]["0"];
    $find "?";
    $var similar_text($msg,$find);
     if (
    $var 0)
            {
              
    //echo "$nick - $msg <br>";
              
    $result mysql_query("INSERT INTO msg_answer (answer) VALUES ('$msg')");
              
    $query mysql_query("SELECT * FROM msg_answer WHERE answer LIKE '%$msg%'") or die(mysql_error());
              
    $row mysql_fetch_array($query);
              
    $reply $row["reply"];

              if (!
    $reply == '')
              {


      
    $ch3 curl_init('http://'.$hostname.'/srv/chat/chat_proc?lChannel=15&xml=1&wChannel=1&locID=100&msgID=0&msgPrvID=0&textMsg=to['.$nick.']%20'.$reply.'');

    curl_setopt($ch3CURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT']."cookie.txt");
    curl_setopt($ch3CURLOPT_RETURNTRANSFER1);
    $content =  curl_exec ($ch3);
    sleep($timeout);
                  }
            }
     
    #16009 Rastamanka, 31 Jul 2010
    Last edited: 31 Jul 2010
  10. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    перед $var = similar_text($msg, $find); поставь foreach, в котором элементы этого массива сравниваются регуляркой
     
  11. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Понча, я уже увидел;)
    Code:
    Да, ты прав, всё дело в "*"   Спасибо огромое
    Пасиб и тебе :p
     
  12. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Подскажите как можно реализовать подобное :

    Запускаю скрипт, он получает текст (проблем нет ;) ) а потом этот текст записывает сам в себя. То есть нужна функция самообновления обновления.
    А то скрипт вроде как занят получается да и сам себя перезаписать..
     
  13. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    засунь текст в eval();
     
  14. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Есть код который в свою очередь выдает вот такой массив. В массиве почему то повторяются значение как убрать одно из них то есть или оставить тока 0 или тока poisk чтобы при выходе не было повторов.


    Код
    PHP:
     $query mysql_query("SELECT * FROM poisk") or die(mysql_error());

          while(
    $row mysql_fetch_array($query))
              
    print_r ($row);
    Полученный массив
    PHP:
     Array
    (
        [
    0] => ?
        [
    poisk] => ?
    )
    Array
    (
        [
    0] => test
        
    [poisk] => test
    )

    А то после foreach
    PHP:
    foreach ($row as $key => $value) {
    echo 
    "<b>$value</b><br>";
    Выводит
    PHP:
    ?
    ?
    test
    test
     
  15. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    array_unique
     
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Rastamanka http://php.net/mysql_fetch_row, http://php.net/mysql_fetch_array - тут читать что делает второй параметр
     
    _________________________
  17. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Помогите с файлом аплоада на пхп - нужно удалить оригинальный файл после ресайза... не знаю как сделать. Прошу в личку кто знает хорохо ПХП. Заплатить не смогу - но услуга за услугу пожалуйсто.

    Дизайн - Seo - Советы - анализ
     
  18. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio не перемещать исходный файл - вот и все удаление
     
    _________________________
  19. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Если бы я знал.. как это сделать - есть 2 варианта это

    1 Удалить после ресайза (оригинал) но проблема в том что там как то пути перехватываються и переменный что переменная где файл оригинала - становиться файлом ресайза и из за этого я не знаю как добраться до оригинала. *(видать никак)

    2)Это закачать файл откртыть его ресайзить и сохранить под тем же именем *( но тут проблема еще в том что там немножно запутанно все - в плане что к названиям файлов добовляються строки и цифры что бы они одинаковыми небыли... ( вот там отделить что да как и не получаеться ) Если бы кто то хорошо понимал в пхп я думаю он даже только в сурсе поправил бы и все... сижу мучаюсь - в понедельник хотел запустить уже домен купил то се : ) видать обратно не видать мне быстрой победы.. :(
     
  20. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Уточняю, не делать move_uploaded_file исходного файла, а читать закачаный файл, ресайзить и сохранять уже измененный. Исходный файл удалится сам
     
    _________________________
Thread Status:
Not open for further replies.