Насколько я понимаю необходимо получить данные из 2 связанных таблиц. Вот 2 варианта:
1) Попытаться получить данные из 2 таблиц в одном запросе (правильный и логичный):
2) Получить данные двумя запросами, записать их в массивы и далее выводить данные из первого и второго массивов, предполагая что они совпадут) - правильный результат не гарантирован
Здравствуйте. Помогите пожалуйста с таким вопросом: нужно считать Tournament-ID и Tournament-Name из xml файла такой структуры:
<Tournament>
<Tournament-ID>33667153</Tournament-ID>
<Tournament-Name>
<![CDATA[ Double or Nothing Turbo- New! ]]>
</Tournament-Name>
</Tournament>
Была попытка считать их так:
$xml = @simplexml_load_file($xml_url);
foreach ($xml->Tournament as $xml_tournament){
$arr_tournament[$i]['id']=strval($xml_tournament->Tournament-ID[0]);
$arr_tournament[$i]['name']=strval($xml_tournament->Tournament-Name[0]);
}
Но проблема в том что символ "-" в словах "Tournament-ID" и "Tournament-Name" создает ошибку(. Как еще можно считать значение элемента c помощью simplexml?
Проблема действительно оказалась в кодировку php файла. Решилась с помощью "AddDefaultCharset UTF-8" в файле .htacces.
Спасибо за помощь, тему можно закрывать.
Здравствуйте. Подскажите пожалуйста решение.
Есть xml файл с <?xml version="1.0" encoding="UTF-8"?>
Считываю его в переменную $xml:
$xml = @simplexml_load_file($xml_url);
Проблема в следующем.
Есть поле вида "€0 + €0", но после считки из xml файла получаю я его уже как "€0 + €0". В чем проблема? И как ее решить? Заранее спасибо за помощь.
Здраствуйте! Помогите пожалуйста.
Есть ассоциативный массив полученный путем считывания из базы данных вида:
Array ( [0] => Array ( [id_tournament] => ActionPoker_3493704 [name] => [T F]$10 Turbo Freeroll [prize] => 10 [payout] => us [checked] => 0 [deleted] => 1 ) [1] => Array ( [id_tournament] => ActionPoker_3494385 [name] => [T F]$50 Freeroll [prize] => 50 [payout] => us [checked] => 0 [deleted] => 1 ) [2] => Array ( [id_tournament] => ActionPoker_3494625 [name] => [T F]$100 Freeroll [prize] => 100 [payout] => us [checked] => 0 [deleted] => 0 ))
Нужно искать
1) значения по полю id_tournament.
2) значения по полям name, prize, payout (то есть есть ли записи, где name и prize и payout соответствуют условиям поиска).
Сейчас поиск осуществляется путем просмотра массива в foreach.
Есть ли какие-то специальные функции, которые оптимизируют данный поиск? И покажите пример если не сложно. Спасибо за помощь)
Хороший вариант. Вот только когда я пытаюсь создать уникальный индекс возникают проблемы:
Таблица уже существет и заполнена. создаю новый солбец (типа Varchar - он должен содержать как буквы так и цифры) и задаю ему индекс Unique.
ALTER TABLE `network_freerolls` ADD `id_tournament` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `id`
ALTER TABLE `network_freerolls` ADD UNIQUE id_tournament (id_tournament);
В ответ получаю ошибку #1062 - Duplicate entry '' for key 'id_tournament_index'. Я так понимаю она возникает из-за того что столбец на данном этапе содержит повторяющиеся (NULL) значения.
Как решить эту проблему?
Здравствуйте. Помогите пожалуйста решить такую задачу:
есть таблица, есть массив данных. В таблицу необходимо вставлять только те строки, которых еще в ней нет.
Планирую реализовать следующим образом: поочередно запрашивать с помощью SELECT есть ли строка с данным id в таблице, если нет, INSERT.
Является ли данный способ допустимым при большом количестве записей для проверки (1000 и больше). Или есть лучшие пути решения?