$_GET съвет.

sentenello

Registered
Може ли да ми кажете дали е правилно да задам
if (empty($_GET)) {

да извежда страницата с информация в която има линкове от сорта на
Код:
<a href='../?league=$event&division=$val[divisiq]'>$val[divisiq]</a>
И след това в същия файл да направя else който да е

Код:
else {
$divisiqta = .htmlspecialchars($_GET["division"]) ;
$ligata= .htmlspecialchars($_GET["league"]) ;

/Тук заявката коята ще включва променливите взети с гет ..?
}
 
Благодаря, сега прочетох каква точно е разликата между Empty и Isset.
Още едни въпрос само, преди да затворя темата.

Как мога да задам да на заявката да не взема редовете който дадено поле съдържа само цифри. Да кажем полето с име "vtoriq" по някой път съдържа цифра от сорта на 2015. Каква трябва да е клаузата в Where , за да не взема този ред ако vtoriq е само цифри. Полето в което записвам vtoriq е Varchar
 
sentenello каза:
Благодаря, сега прочетох каква точно е разликата между Empty и Isset.
Още едни въпрос само, преди да затворя темата.

Как мога да задам да на заявката да не взема редовете който дадено поле съдържа само цифри. Да кажем полето с име "vtoriq" по някой път съдържа цифра от сорта на 2015. Каква трябва да е клаузата в Where , за да не взема този ред ако vtoriq е само цифри. Полето в което записвам vtoriq е Varchar
SELECT *
FROM Table1
WHERE ISNUMERIC([vtoriq]) = 1

(Не е реклама)http://stackoverflow.com/questions/12659142/how-to-select-only-numeric-values
 
Със заявката която ми даваш няма ли да взема полетата които са с цифри, защото на мен ми трябва точно обратното, а именно да взема всички други полета, но не и тези който съдържат само цифри в тях.
 
sentenello каза:
Със заявката която ми даваш няма ли да взема полетата които са с цифри, защото на мен ми трябва точно обратното, а именно да взема всички други полета, но не и тези който съдържат само цифри в тях.
Оооо не съм те разбрал извинявай.

where vtoriq not like '%[^0-9]%'
 
Намерих тема която отговаря точно на това което искам, но така и не можах да разбера как да направя заявката..

ето я темата.. http://stackoverflow.com/questions/4603292/check-if-a-varchar-is-a-number-tsql
 
sentenello каза:
Намерих тема която отговаря точно на това което искам, но така и не можах да разбера как да направя заявката..

ето я темата.. http://stackoverflow.com/questions/4603292/check-if-a-varchar-is-a-number-tsql
Дай си заявката която имаш сега не съм гадател :P :D
 
sentenello каза:
[sql]SELECT event_id as broi, CONCAT(hometeam, ' - ', awayteam) AS teams FROM `match`
WHERE event_id ='36' AND start_date >= NOW() AND awayteam not like '%[^0-9]%'[/sql]

SELECT event_id as broi, CONCAT(hometeam, ' - ', awayteam) AS teams FROM `match`
WHERE event_id ='36' AND start_date >= NOW() AND awayteam like '%[a-z]%'

Така :)
 
Как не се сетих да обърна проверката :D :o

Това работи разбира се, но да попитам. Ако awayteam е Lille 1980, ще го извежда ли с тази проверка ? Защото на мене ми трябва да го извежда, не зависимо че има цифри..
 
sentenello каза:
Как не се сетих да обърна проверката :D :o

Това работи разбира се, но да попитам. Ако awayteam е Lille 1980, ще го извежда ли с тази проверка ? Защото на мене ми трябва да го извежда, не зависимо че има цифри..
Не мися. Принципно е подадено да вади [a-z]. Ако не ти вади някой неща вероятно е заради регистъра тоест малки и големи букви- [a-zA-Z]
но можеш и като изключение да го дадеш ако е един и същи стринга
like '%[a-z]|Lille 1980%' тоест логическо или or | :)
 
Интересното е че при заявка от вида

[sql]SELECT event_id as broi, CONCAT(hometeam, ' - ', awayteam) AS teams FROM `match` WHERE event_id ='3' AND start_date >= NOW() AND awayteam LIKE '%[[a-zA-Z]]%'[/sql]
казва..
MySQL върна празен резултат (т.е. нула редове). (Заявката отне 0.0005 секунди)

:!:
 
Направих го така
Код:
concat('',awayteam * 1) != awayteam
Работи си точно както искам, но все пак ако имаш нещо на ум, драскай, преди да ти дам точката за главоболията с мен

EDIT:
За да проверява дали не е празно също го направих така.. не знам дали е правилно.
[sql]concat('',awayteam * 1) != awayteam AND awayteam IS NOT NULL AND TRIM(awayteam) <> ''[/sql]
 
Още във втория си пост даката ти е отговорил съвсем правилно. Единственото, което е трябвало да направите е това:

[sql]SELECT *
FROM Table1
WHERE ISNUMERIC([vtoriq]) = 1[/sql]
да стане това:

[sql]SELECT *
FROM Table1
WHERE NOT ISNUMERIC([vtoriq])
[/sql]

Много ми е странно защо сте изписали 1000 други решения с like и проверяване за букви при толкова просто решение :shock::D
 
Защото не беше дал SQL и после напълно изключих какво съм поствал... Днес имам именници у нас и е чудо :D
 
Когато си го оставя така
[sql]SELECT count(event_id) as broi FROM `match`
WHERE event_id ='$val[divid]' AND start_date >= NOW() AND concat('',awayteam * 1) != awayteam[/sql] си работи, но когато пробвам с isnumeric дава грешка..

Грешката която ми дава е когато кода го преправя за да стане така
[sql]SELECT event_id as broi, CONCAT(hometeam, ' - ', awayteam) AS teams FROM `match` WHERE event_id ='6' AND start_date >= NOW() AND NOT ISNUMERIC([awayteam])[/sql]
 
SELECT *
FROM Table1
WHERE NOT ISNUMERIC([vtoriq])

Ако тва не работи, това трябва да стане:

[sql]SELECT *
FROM Table1
WHERE ISNUMERIC(vtoriq) = 0[/sql]
 

Back
Горе