Autor Zpráva
frost
Profil *
$vysledek_cas=mysql_query("select cas, max(lcas) from takticke_informace where jmeno='".$zaznam["jmeno"]."'");

Jsem ztracen, prosím vás netušíte někdo proč mi tato syntax nevrací žádnou hodnotu?
Předem díky všem.
djlj
Profil
GROUP BY cas
frost
Profil *
Děkuji, jste tady opravdu skvělá parta. :)
frost
Profil *
Další problém, jako začátečník tomu nerozumí.

$vysledek_cas=mysql_query("select cas, max(lcas) from takticke_informace where jmeno='".$zaznam["jmeno"]."' group by cas");

Proč mi tento řetězec vypíše hodnotu cas, která náleží nejmenší hodnotě lcas?
Vždyť by to mělo být obráceně, nebo ne?
djlj
Profil
Já jsem na to nějak blíž nekoukal, asi bude lepší to GROUPnout podle jména — GROUB BY jmeno.
Mastodont
Profil
Prrotože ten dotaz vypíše max(lcas) pro všechny časy (cas), které jsou v tabulce zapsány pro dané jméno. Čili nemusí vrátit jen jeden záznam, ale klidně víc.

Ten dotaz, co jsi napsal, funguje takto: nejprve jsou vyhledány všechny záznamy pro dané jméno (WHERE). V těchto záznamech je poté pro každý jedinečný údaj (GROUP BY) ve sloupci cas zjištěna maximální hodnota ve sloupci lcas. Nakonec je vypsáno tolik řádků, kolik bylo nalezeno časů (cas) pro dané jméno, a k tomu je přidán do druhého sloupce max(lcas).
frost
Profil *
print_r vrací pouze toto:

Array ( [0] => 09.11.2007 08:03:11 [cas] => 09.11.2007 08:03:11 [1] => 1194591791 [max(lcas)] => 1194591791 )

Hodnota max(lcas) => 1194591791 je nejmenší u jména v podmínce, ale já potřebuji, aby hodnotě max(lcas) byla přiřazena nejvyšší hodnota patřící jménu v podmínce.
Mastodont
Profil
select max(lcas) from takticke_informace where jmeno= .$zaznam["jmeno"]

Uvozovky si doplň.
frost
Profil *
jj to vím díky, ale mě jde o ten hodnotu cas já potřebuji zobrazit čas patřící k max(lcas)
frost
Profil *
jj to vím díky, ale mě jde o ten hodnotu cas já potřebuji zobrazit čas patřící k max(lcas)
med
Profil *
taky bych měl dotaz jestli můžu.... jak mam udelat aby my SELECT Max(cislo) vratilo to nejvetsi cislo kdyz v sloupci cislo mam treba 2,3,5,7,8 vzdycky mi to vrati 3protoze tam chyby ta 4
djlj
Profil
med
Tak asi děláš něco špatně, protože to běžně vybere nejvyšší číslo, i když třeba chybí všechna předchozí čísla. Možná nemáš nastaven číselný datový typ, ale v tom nejspíš zde problém nebude.
Kajman_
Profil *
A není ta trojka číslo resultu místo hodnoty z něho?
BetaCam
Profil
select cas, max(lcas) AS maxCas from takticke_informace where jmeno='".$zaznam["jmeno"]."' GROUP BY jmeno

vrací největší datum u jména.

SELECT MAX(cislo) AS maxCislo FROM tabulka

vrací největší číslo bez ohledu na to jestli ti tam v číselný ředě nejaký číslo bude chybět nebo ne
matlala
Profil
Ahoj,
objevil jsem tuto diskusi, zrovna potřebuju poradit s tím samým:
potřebuju zjistit nejvyší id_fotky v tabulce, id_fotky má auto_icrement, abych pak stejným id pojmenoval nahrávanou fotku a orientoval se v nich-id_fotky bude unikátní fotka a záznam

tento dotaz:
$max=mysql_query("select MAX(id_fotky) from akva_galerie order by id_fotky DESC");
echo $max;
hodí tohle:
Resource id #10
nightfish
Profil
potřebuju zjistit nejvyší id_fotky v tabulce, id_fotky má auto_icrement, abych pak stejným id pojmenoval nahrávanou fotku
pokud máš sloupec typu auto_increment, nepotřebuješ zjistit největší id, ale poslední vložené id, k tomu slouží funkce mysql_insert_id(), kterou zavoláš po insertu
pokud použiješ řešení max(id_fotky), můžeš se jednoduše dostat do problémů, když 2 uživatelé vloží fotku zároveň - vysvětlím na příkladu, 2 uživatelé (A a B) vkládají fotku současně, kód je (vč. čísel řádků):
1. insert...
2. select max(id)

může dojít k situaci, že se skripty provedou v pořadí A1, B1, A2, B2:
A1 - insert, id vloženého řádku 1
B1 - insert, id vloženého řádku 2
A2 - select max(id) - vrátí 2, protože ta je v tabulce aktuálně největší
B2 - select max(id) - vrátí taktéž 2
a problém je na světě

tento dotaz: $max=mysql_query("select MAX(id_fotky) from akva_galerie order by id_fotky DESC"); echo $max;
hodí tohle: Resource id #10

možná bude dobré si přečíst něco o práci s databází v php
viz http://www.linuxsoft.cz/article.php?id_article=344
nebo http://cz.php.net/mysql_result nebo http://cz.php.net/mysql_fetch_array
matlala
Profil
ono je to jinak, je to jenom moje administrace, mám osobní web a málo mísžta-stačí tak pro moje fotky,
a potřebuju zjistit nejvyššší id_fotky a pak id_fotky+1 bude název nahraného fota a zároven se zatíše do DB
=>vztah mezi tabulkou a fotkou bude v ID
Juliano
Profil *
Já sem teďka taky řešil, jak zjistit nejvyšší číslo v databázi. v mym případě to je ID uživatele...

Co sem koukal tady, myslim, že to řešíte moc komplikovaně... Určitě snažší je tenhle způsob :)

$conn_test=mysql_query("SELECT * FROM uzivatele ORDER BY id ASC");

$x=1;
  while($test=mysql_fetch_array($conn_test)){
  
  $y=$test["id"];

$x++;
  }

echo $y;


Pro neznalý ho popíšu :)

Nejdřív connect do databáze... třeba takovej... (require_once "databaze.php"; // například)

Pak connect ($conn_test) do tabulky, ze který chcete to nejvyšší číslo, seřadit od nejmenšího čísla po nejvyšší...

Cyklus while pojede dokud mu nedojdou řádky s ID a do proměnné $y se dá vždy daná hodnota ID...

To znamená, že posledním cyklem bude do $y dáno nejvyšší ID v databázi :) pak to hodí false a my můžeme vesele dál pracovat s $y kde bude nejvyšší ID :-D
bedna
Profil *
Pro neznalý píšu Proč je tam to $x? A proc ne treba
SELECT id FROM tabulka ORDER BY id DESC LIMIT 1
?
AM_
Profil
bedna
Tohle téma je půl roku starý... asi už ho to nezajíma.
Juliano
Profil *
bedna: Dal sem to jako příklad jinýho systému řešení, neřikam, že je nejlepší ani, že je skvělý a super... Mě může bejt tahle problematika celkem ukradená a moc sem nad tim nepřemejšlel, jen mě to tak při čtení tohodle článku napadlo... :))
tiso
Profil
Na čase zammknúť...

Moderátor Chamurappi: Proč? Nejsou snad ty poslední příspěvky (vyjma #20) k tématu?
tiso
Profil
Chamurappi: preto:
frost #1 · Zasláno: 9.11.2007 10:46:13

Moderátor Chamurappi: Stáří není důvod k zamčení, proto stará vlákna nezamykáme automaticky. Stará vlákna nacházejí lidé pomocí vyhledávačů a mají-li něco zajímavého k doplnění (pro další, kdo je najdou), nebudeme jim upírat možnost.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: