Возможно вы не так поняли вопрос. Мне нужно получить такой массив из уже готовой верстки, где два поля идут одно за другим и таких наборов может быть несколько. А когда массив получен, ясное дело, что его можно передать и путем сериализации. Итак вопрос - как получить такой массив?
Такой массив можно получить только путём указания ключей, так как пустые скобки будут добавлять новый элемент при каждом вхождении. Вообщем вам надо как-то сделать
Добрый вечер, уважаемые. Прочитал книгу по php и появилось несколько вопросов:
1. Являются ли синонимами сравнения AND и &&, OR и || или же у одного из них некий приоритет над другим.
2. Какую информацию можно получить от юзера, запустившего сценарий (инф. о браузере, железе, системе и т.д)?
3. Есть 2 семейства функций: mysql_ и mysqli_. В чем их отличие и есть ли у одной преимущество над другой?
Спасибо!
1. Приоритетов нет, выражения являются синонимами, но я всегда пишу AND и OR для удобства чтения кода.
2.От юзера можно получить информацию о браузере(стандартные http заголовки), язык,кодировку.Большиснтво браузеров также подписывают операционную систему в заголовке User-Agent.
3. Функции mysql_* являются устаревшими и не рекомендуются к использованию (deprecated) , а оставлены лишь для совместимости новый версий php-интерпретатора со старым кодом. К сожалению в сети осталось много старых мануалов по использованию mysql_* функций, поэтому они так популярны у новичков. Так что смело используйте mysqli_* и не парьтесь по этому поводу.
селект по русскому тексту да ещё и с двойными кавычками
$work_name = 'Джинсы "Бантик"';
$result = mysql_query("SELECT SUM(count) FROM web WHERE name = $work_name" , $connection);
Неверный запрос: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '�жинсы "Бантик"' at line 1
Если есть возможность запускать по крону - то конечно лучше написать скрипт, который будет дергаться кроном. А так можно где-нить в index.php примерно такое написать, предварительно создав файл time.
$result=mysql_query('SELECT m1,m2,m3...m15 FROM table WHERE id = 1');//запрос к таблице
$row=mysql_fetch_assoc($result);//перегоняем строку таблицы в ассоциативный массив
$result=array();//массив результатов, сюда попадут столбцы удовлетворящие условию
foreach($rowas$column=>$field){//переберём массив
if($field=='1'){
$result[]=array('column'=>$column,'value'=>$filed);//в результат записываем массив, column - название колонки, value - значение
}
}
$random_key=array_rand($result)//получим рандомный ключ результат массива
$field=$result[$random_key];//собственно вот наш произвольный элемент с нужным значением, и теперь если нужно название колонки которое совпало пишем так
$uslovie=$field['column'];
//а ежели нужно значение?хотя зачем оно не знаю, не понял вашего вопроса полностью, но всё таки, то пишем
ну а если тем 100, как их автоматически записывать в $data из файла ..?
Мануал? не , не слышал...
$data = file_get_contents('путь к файлу') - считает файл в строку; если же нужно считывать файл по строчно - то тут уже fopen('путь к файлу') - в вашем скрипте есть пример работы с ним, а если уж не получается из одного формата данных привести к другому, то забудьте про программирование, скучная это штука...
Вы не указали что будет в теле цикла, но я так понимаю ваша ошибка в том что вы дрёгаете метод $anticapcha->get_last_capcha_id() при каждой итерации цикла, хотя он нужен 1 раз. Вообщем если я вас правильно понял вам нужно что-то вроде этого
функция count() будет вызвана лишь один раз , а в счётчике уже используется переменная которой было присвоено значение, которое вернуло функция count();
вы делаете return в первой же итерации цикла, собственно по этому один файл и загружает, а потом выходит из цикла. В данном случае лучше результаты записывать в массив и его уже возвращать вне тела цикла. То есть return внутри цикла тоже самое что и break .
//смотрим номер капчи
echo $anticapcha->get_last_capcha_id()."<br>";
при приходе ошибки ERROR_NO_SLOT_AVAILABLE, id капчи равен -1, помогите сделать, что если id равен -1, то начинался бы цикл. Пробую так, но не работает
while (strpos ($anticapcha->get_last_capcha_id(), "-1") != 0)
{
ЦИКЛ
}
эм если я проавильно понял вам нужно проверить вовзращаемое значение на -1? чем вас
$anticapcha->get_last_capcha_id() < 0 не устраивает? зачем strpos()?
if(preg_match('#^[0-9]{1,5}$#',$id)){..}else{id =1;}/* или вот так */else{die();}
научили ими пользоваться теперь только так)) (Добавление)
по поводу защиты меня больше волнует то что переменные которые не гет могут тебе гет отправить...)) над не забывать перед использованием всегда присваивать значение будь то NULL или что ещё
не проще, зачем регулярка (которая кстати не отличается скоростью работы в php) когда есть готовые функции из php api? Вообще проблема начинающих в велосипедировании уже имеющегося функционала, например тот же filter_var() много чего умеет, но все лепят вместо него регулярки, при том не всегда правильные