SQL резултат по определена стойност на колона

C++ JAVA
djidja83
Нов
Нов
Posts: 45
Joined: Sat Jan 02, 2016 9:49 pm

Post by djidja83 » Wed Jun 27, 2018 6:35 pm

Можеше да напиша и редовете кои са :?


[php]if ( $recipe['eating'] == $inbetween_string && count($inbetween_recipies) < 2 ) {[/php]

и

[php] if ( $recipe['eating'] == $main_string && count($main_recipies) < 2 ) {[/php]

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Wed Jun 27, 2018 6:42 pm

raiden wrote:
Revelation wrote:
raiden wrote:Можеш да вземеш 3 основни и 2 междинни с 1 UNION заявка, но понеже можеш да имаш сортиране и лимит само веднъж в 1 заявка ще трябва да направиш UNION от две заявки - първата взима 3 случайни основни, втората взима 2 случайни междинни
Само по този начин не се сетих да направя вложените селекти, да го ... :D :D
:D :D
Страшен loop иначе, само трябва да оправиш вътрешния иф за междинните да е < 1 иначе ако вземе 2 междинни преди 3 основни и попадне на междинно ще го добави :?:
Edit: https://www.db-fiddle.com/f/ahkhotu2VKj254qbKnjq79/0
Няма да има проблем, защото като станат 2 рецепти, ако е междинна отново просто ще пропусне if-а.
А иначе на долния if проверката трябва да е < 3, а не 2.

@djidja я направи

[php]
var_dump($recipe);
exit;
[/php]

Веднага след

[php]
$recipe = array_rand($recipies);
[/php]

Защото очевидно върнатия резултат не е правилен.

Вероятно ще трябва да е нещо такова:

[php]
if ( $recipe[0]['eating'] ... )
[/php]

Но не съм сигурен.
Last edited by Revelation on Wed Jun 27, 2018 6:43 pm, edited 2 times in total.

raiden
Гуру
Гуру
Posts: 2182
Joined: Fri Dec 08, 2006 8:13 am
Answers: 190
Location: Варна

Post by raiden » Wed Jun 27, 2018 6:42 pm

Ако ползваш кода на колегата, имай предвид че array_rand връща ключ на масива, а не елемент. Ще трябва да замениш $recipe['eating'] със $recipes[$recipe]['eating']

djidja83
Нов
Нов
Posts: 45
Joined: Sat Jan 02, 2016 9:49 pm

Post by djidja83 » Wed Jun 27, 2018 6:45 pm

Revelation wrote:
raiden wrote:Можеш да вземеш 3 основни и 2 междинни с 1 UNION заявка, но понеже можеш да имаш сортиране и лимит само веднъж в 1 заявка ще трябва да направиш UNION от две заявки - първата взима 3 случайни основни, втората взима 2 случайни междинни
Само по този начин не се сетих да направя вложените селекти, да го ... :D :D

П.П. Сигурен ли си, че заявката в това си състояние ще работи?
Select filed! :)

raiden
Гуру
Гуру
Posts: 2182
Joined: Fri Dec 08, 2006 8:13 am
Answers: 190
Location: Варна

Post by raiden » Wed Jun 27, 2018 6:53 pm

Смени die("Select failed"); с
die("Select failed: " . mysqli_error($conn));

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Wed Jun 27, 2018 6:54 pm

Съветвам те да ползваш заявката на @raiden. Доста по-лесно ще си организираш нещата с рецептите(естествено зависи от сложността, която искаш да приложиш и дали това ще е всичко, което ще ти трябва :D ).

djidja83
Нов
Нов
Posts: 45
Joined: Sat Jan 02, 2016 9:49 pm

Post by djidja83 » Wed Jun 27, 2018 6:56 pm

Тествам и двете - за момента нито една не сработва.
Благодаря ви много много много!

djidja83
Нов
Нов
Posts: 45
Joined: Sat Jan 02, 2016 9:49 pm

Post by djidja83 » Wed Jun 27, 2018 6:58 pm

raiden wrote:Смени die("Select failed"); с
die("Select failed: " . mysqli_error($conn));
Select failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROМ (SELECT * FROM Recipies WHERE eating = 'основно' order by RAN' at line 1

djidja83
Нов
Нов
Posts: 45
Joined: Sat Jan 02, 2016 9:49 pm

Post by djidja83 » Wed Jun 27, 2018 7:04 pm

Revelation wrote:Съветвам те да ползваш заявката на @raiden. Доста по-лесно ще си организираш нещата с рецептите(естествено зависи от сложността, която искаш да приложиш и дали това ще е всичко, което ще ти трябва :D ).
Честно казано искам просто вече да приключа с това - денонощно се занимавам вече над 10 дни. Искам да свърши :D . Само нещо да сработи.

Между другото - от твоята заявка сега ми изкарва

string(6) "eating"

Вече ослепях с тия кодове. :D

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Wed Jun 27, 2018 7:05 pm

Първия FROM в заявката на @raiden има кирилица за това(и по-точно М-то е на кирилица). Оправи го на латиница да е.

Post Reply