нужно вывести инфу из таблици без повторов, делаю так PHP: <? $sql= "SELECT `srt` FROM `info` WHERE `data` = DATE(NOW()) "; $qq = mysql_query($sql) or die(mysql_error()); $re = array_unique($qq); while($viv = mysql_fetch_array($re)) { echo $viv['srt']; } ?> пишет Warning: array_unique() [function.array-unique]: The argument should be an array i почему?
потому что надо сначала взять все результаты в массив, а потом его сделать в array_unique, а не результат выполнения запроса. сам по себе он не дает никакой инфы о полученных данных, это всего лишь ссылка. PHP: <?php $a = array(); $sql= "SELECT `srt` FROM `info` WHERE `data` = DATE(NOW()) "; $qq = mysql_query($sql) or die(mysql_error()); while($viv = mysql_fetch_array($qq)) { $a[] = $viv['str']; } print_r(array_unique($a));
К тому же, почему бы не сделать так? PHP: <?php $sql= "SELECT distinct `srt` FROM `info` WHERE `data` = DATE(NOW()) "; $qq = mysql_query($sql) or die(mysql_error()); while($viv = mysql_fetch_assoc($qq)) { echo $viv['str'] . '<br />'; }
1. Посто на 60% не читаемый( Ошибки и несвязанные части речи. 2. А в чем сложность? Если нужно редактировать данные в БД, то сделайте форму, куда при загрузке внесите текущие данные, и при нажатии сохранить замените все данные в БД (с проверками естественно). Ну а если сделать все за вас, то хоть саму структуру БД дайте хотя бы.
Вопрос, Есть переменна с текстом HELLO Есть файл с текстом в каждой строке Hello Hello world Hello friends Hello my name Как с помощью пхп без цикла можно сравнить переменную со всем массивом ? т.е если в массиве такой текст есть то говорит НАШЕЛ, только не СЛОВО а весь текст точно такой же, т.е как бы сравнивает строку со строками в файле.. С помощью чего такое можно сделать ?
PHP: $data = file('data.txt'); //считываем содержимое файла в массив $text = "Hello"; // Этот вариант вернет True или False if (in_array($text, $data)) { echo "Найдено!"; } //А этот вернет номер ключа где содержится искомое слово $key = array_search($text, $data);
В разных скриптах urlencode при одинаковом входном контенте и одинаковой общей конструкции скрипта выдаёт разные результаты: Варианты: 1)+Click+%E2%80%98Activate 2)+Click+%91Activate 1 вариант декодируется на ура. 2 показывает квадратик. В чём может быть проблема?
Вопрос, А как можно сделать с двумя файлами? Т.е вместо переменной $text, файл как в $data ? И еще, оно не находит предложение, а только слова.. Т.е может найти Hello Но не Hello World че так ?
Adio ты все продолжаешь в том же духе? Прочитать мануал по этим двум функциям и понять "че так", не судьба? Думаю Gifts не возрадуется. Ты ведь ищешь ключ значения "Hello", вот оно и выдает тебе Hello.
Я знаю что ИЩЮ HELLO, я создаю файл со списком Hello Hello world Hello people Hello car Почему то может найти только одно слово, без пробела. И не как и наче, т.е только одно слово целиком, а если более одного слова то не работает ! Не знаю почему. Делал массив без файла, Находит. Делаю с Файлом находит только одиночные слова У меня щас и так открыты все мануалы по массивам и поиску даже с харба нашел, но то что мне надо почему то у меня не получаеться сделать. А именно найти предложение из 3 слов .. не знаю что не так.. Того и спрашиваю. Code: /* wordss.txt hello hello world hello mom hello dad hello rooms */ $data = file('wordss.txt',true); //считываем содержимое файла в массив $text = "hello dad"; // Этот вариант вернет True или False if (in_array($text, $data)) { echo "FOUND!"; } //А этот вернет номер ключа где содержится искомое слово $key = array_search($text, $data); echo $key; Ну вот и не работает.
Adio у вас фобия на циклы, или есть в этом какой то высший смысл? Или вы думаете in_array и array_search делают какие то волшебные вещи?
Просто есть цикл в котором не должно быть циклов или их нужно как то выносить из цикла типа как функцию вы сделали.. т.е цикл нарушать нельзя другими циклами, того так и все приходиться делать. без циклов или же подставлять $i единсвенного цикла в какието значение...
Сделай var_dump массива, который получаешь из файла и массива, который создаешь в скрипте. Может найдешь отличие.
Adio Исходя из каких соображений вы считаете, что не должно быть цикла в неком цикле? Ошибка в вашем коде тут: PHP: $data = file('wordss.txt', true ); //считываем содержимое файла в массив Догадайтесь какая
Я нашел проблему, но не понял откуда она покамись возникает во всех строках моссива в конце стоит пробел, кроме последней строки, я даже создавал новый текстовый файл, все равно выводит вот так. И находит только последнюю строку.. Code: array(4) { [0]=> string(7) "hello " [1]=> string(13) "hello world " [2]=> string(15) "hello my name " [3]=> string(10) "hello good" } Отсюда убрал true Code: $data = file('wordss.txt');
догадывался, но думал ошибка именно в коде... Спасибо Не тут то было... добавил rtrim Code: $data = file("hello.txt"); //считываем содержимое файла в массив $data = rtrim($data); $text = "hello rooms"; // Этот вариант вернет True или False if (in_array($text,$data)) { echo "FOUND!"; } var_dump($data); //А этот вернет номер ключа где содержится искомое слово $key = array_search($text,$data); echo $key; пишет Warning: in_array() [function.in-array]: Wrong datatype for second argument in Z:\home\test1.ru\www\arrays.php on line 11 string(5) "Array" #11 if (in_array($text,$data)) { Ура нашел ! Может кому пригодиться Code: $data = array_map('trim', $data);
PHP: <?php $data = explode("\r\n", file_get_contents('word.txt')); $text = "hello dad"; $key = array_search($text, $data); echo $data[$key]; ?> <?php $f = fopen('word.txt', 'rb'); while (!feof($f)) { $data[] = rtrim(fgets($f)); } fclose($f); $text = "hello dad"; $key = array_search($text, $data); echo $data[$key]; ?>