mmsgold
12.09.2015 - 21:06
что то здесь не так, или все норм?
foreach ($massivFilm as $key => $value) {
$sql = "SELECT * FROM films WHERE id_parser=$massivFilm[id_parser]";
$result = $mysqli->query($sql) or die("нежданчик");
$count_row=$result->$num_rows;
if ($count_row >= 1)
{
unset($massivFilm[$key]);
echo "запись из массива была удалена";
}
}
ps туплю, поторопился, с вопросом
mmsgold
12.09.2015 - 21:17
скорее вот так надо, но чет не работает тоже
while($massivFilm) {
$sql = "SELECT * FROM films WHERE id_parser=$massivFilm[id_parser]";
echo $sql;
$result = $mysqli->query($sql) or die("нежданчик");
$count_row=$result->$num_rows;
if ($count_row >= 1)
{
unset($massivFilm[id_parser]);
echo "запись из массива была удалена";
}
}
123456
12.09.2015 - 21:17
массив в цикле!
Всё не так.
Код оформлен не в том теге.
Запрос в цикле.
$massivFilm[id_parser] - id_parser это константа? Если да, то константы принято писать в верхнем регистре, если это текст, то в кавычках одинарных, если переменная, то знак доллара забыл =)
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
mmsgold
12.09.2015 - 21:27
Arh,
это ассоциативный массив, $massivFilm["id_parser"] - я думаю надо поправить синтакссическую ошибку, да в цикле запрос, сравниваю базу с массивом, потом массив кину в базу чтоб не было повторений
S.Chushkin
12.09.2015 - 21:31
Это что?
$result->$num_rows
_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
mmsgold
12.09.2015 - 21:35
все я въехал, у меня там двумерный массив, вот и не пашет
S.Chushkin, ну это свойство объекта(количество строк)
mmsgold
12.09.2015 - 21:42
и как его перебрать теперь....так не прокатит
while($massivFilm[]) {
$sql = "SELECT * FROM films WHERE id_parser=$massivFilm[][id_parser]";
echo $sql;
$result = $mysqli->query($sql) or die("нежданчик");
$count_row=$result->$num_rows;
if ($count_row >= 1)
{
unset($massivFilm[id_parser]);
echo "запись из массива была удалена";
}
}
AllesKlar
12.09.2015 - 21:51
$ids = '';
while($massivFilm as $film)
{
$ids .= $film . ',';
}
$ids = rtrim( $ids, ',');
$sql = "SELECT id_parser FROM films WHERE id_parser IN (" . $ids .")";
$result = $mysqli->query($sql) or die("нежданчик");
.....
_____________
[продано копирайтерам]
mmsgold
12.09.2015 - 21:52
мой вариант
$count_massiv = count($massivFilm);
for ($i=0; $count_massiv > $massivFilm[$i]; $i++) {
echo "<br> а вот и АЙДИ =".$massivFilm[$i][id_parser];
break;
$sql = "SELECT * FROM films WHERE id_parser=$massivFilm[$i][id_parser]";
echo $sql;
$result = $mysqli->query($sql) or die("нежданчик");
$count_row=$result->$num_rows;
if ($count_row >= 1)
{
unset($massivFilm[$i]);
echo "запись из массива была удалена";
}
}
AllesKlar
12.09.2015 - 21:53
Цитата (mmsgold @ 12.09.2015 - 19:52) |
мой вариант |
Твой вариант плох тем, что запрос к базе в цикле - это вселенское зло.
У меня всего ОДИН запрос.
Ну, и пока ты не покажешь структуру массива $massivFilm никто тебе не поможет
_____________
[продано копирайтерам]
mmsgold
12.09.2015 - 21:55
AllesKlar, я не въехал в твой код, попробую разобраться в нем
И чё работает?)
S.Chushkin сказал же что свойство неправильно написано.
а AllesKlar показал как делать что бы триллион запросов на сервер не слать.
а ты всё равно сделал как и было.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
mmsgold
12.09.2015 - 22:00
Arh, пока не работает(, но его идею я понял
mmsgold
12.09.2015 - 22:15
из документации, вот же праввильно свойство написал
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Соединение не удалось: %s\n", mysqli_connect_error());
exit();
}
if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {
========>>>>>>>> $row_cnt = $result->num_rows;
printf("В выборке %d рядов.\n", $row_cnt);
$result->close();
}
$mysqli->close();
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.