Autor Zpráva
Prcek
Profil *
Jsem docela začátečník a potřeboval bych seřadit čísla v tabulce. Konkrétněji když si vezmete jakoukoliv fotbalovou tabulku...takže když bych kliknul třeba na počet vstřelených golů, tak by se mi tabulka podle toho seřadila. Vůbec nevím jak to mám dělat, hledal jsem v diskusích, nic nenašel...tak prosím o pomoc...
Taps
Profil
Jde to pomocí php a mysql. Pokud máš údaje uložené v databazi tak je můžeš seřadit pomocí DESC nebo ASC. Já bych si udělal nějaké obrázky (šipku nahoru a šipku dolů). Pokud se klikne na šipku dolů provede se operace která seřadí záznamy o nejmenšího. a když se klikne na šipku na horu tak se to zase seřadí on nejvyšího čísla
Prcek
Profil *
Mno to je na mě dost teoretické :) trošku toho praktickýho by neuškodilo :))
Casero
Profil
Prcek
Já mám tuto fci.

function serad($jmeno,$zkr,$podle,$ser,$strana){ 

list($jm,$po)=explode(",",$ser); // $ser obsahue zkontrolovanou proměnou z URL ve tvaru podle jakého sloupce, desc/asc
if ($jmeno==$jm) { //$jmeno je název, podle kterého se má řadit, zde se kontroluje, jestli už se řadí
$obr="<img src='images/".$po.".gif' />";
if ($po=="desc") $po="asc";
else $po="desc";
}
else {
$po=$podle; //$podle je podle čeho se má prvně řadit
$obr="";
}
$href="index2.php?clanek=".$strana."&ser=".$jmeno.",".$po; //$strana je strana na které se řadí
echo "<a href="".$href."">".$zkr.$obr."</a>";
}
Prcek
Profil *
mno, když mám v tuto tabulku v mysql

--
-- Struktura tabulky `Historie`
--

CREATE TABLE `Historie` (
`M` varchar(4) collate latin2_czech_cs NOT NULL default '0',
`Název (ID)` varchar(55) collate latin2_czech_cs NOT NULL default '0',
`Z` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`V` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`R` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`P` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`GV` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`GO` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`B` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`U (V)` varchar(6) collate latin2_czech_cs NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs;

--
-- Vypisuji data pro tabulku `Historie`
--

INSERT INTO `Historie` VALUES ('1.', 'ac sparta praha (123)', '5', '4', '1', '0', '15', '5', '13', '1 (2)');
INSERT INTO `Historie` VALUES ('2.', 'slavia praha (109)', '5', '0', '1', '4', '5', '15', '1', '1');


tak jaký kod pokud možno PŘESNĚ vložím na stránky ?
Prcek
Profil *
Mno asi bych měl změnit dotaz.....na jednoduší :)))

jak vložim tabulku z mysql do php ? aby se normálně na webu zobrazila ?
Casero
Profil
Prcek
www.linuxsoft.cz/php www.linuxsoft.cz/mysql
Prcek
Profil *
právě todle projíždim asi tak 3. hodinu....ale nikde nevidim jak vložit tabulku z mysql do php....jediné co jsem našel je

$connection = mysql_connect("mysql.wz.cz", "xxx", "xxx");
$sql = 'SELECT * FROM `Historie` PROCEDURE ANALYSE()';

mno to když tam dam tak to sice nepíše chybu...asi jako že jsem správně připojenej ale tabulku žádnou mi to neukáže...
Taps
Profil
zkus toto:
$sql = mysql_query("SELECT * FROM historie");

while($zaznam=mysql_fetch_array($sql)):
echo"$zaznam[m]";
endwhile;
Prcek
Profil *
díky za pokus...ale

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in - on line 6
Školník
Profil
Prcek Prcku odkud jsi?



//Připojení k databázi

$dbhost = "localhost";
$dbusername = "";
$dbpass = "";
$dbname = "nazev-databaze";

$db = mysql_connect($dbhost, $dbusername, $dbpass);
mysql_select_db($dbname, $db);

//vypis z databaze

$dotaz = mysql_query("SELECT * FROM Historie");
echo mysql_error();

while ($otazka = mysql_fetch_assoc($dotaz)) {
echo $_otazka["m"];
}
Prcek
Profil
Taká podpásovka :)) z Rakovníka, ale stejně mi to nejde :))
Školník
Profil
A jakou chybu Ti to píše?
Prcek
Profil
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /3w/xf.cz/s/supermancup/a/bb.php on line 9
No database selected
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /3w/xf.cz/s/supermancup/a/bb.php on line 16

přitom jí tam mam tu databázi napsanou...
Školník
Profil
$dbname = "nazev-databaze"; - tu, jo?
Prcek
Profil
spíš bych řek že nejde...¨nevim tedy jak to mam vyplnit...

mysql_select_db("xx", "xx");
Školník
Profil
Předpokládám, že to testuješ přímo na webu - máš správně vyplněné přihlašovací údaje k databázi? Jde o tyhle řádky:

$dbhost = "";
$dbusername = "";
$dbpass = "";
$dbname = "";

Přičemž dbname není Historie (to je název tabulky v té databázi). Prohlížel jsis pořádně ty stránky, co Ti poslal Casero?

//mysql_select_db neměň, vyplň pouze výše zmíněné 4 řádky
Prcek
Profil
todle mam good, to jsem dával už mnohokrát, když jsem zkoušel nějaký ty hotový skrypty...jako třeba Redakční systémy, takže to mam na 100 pro dobře...
Školník
Profil
A co jsi myslel tím

"spíš bych řek že nejde...¨nevim tedy jak to mam vyplnit... mysql_select_db("xx", "xx");"
Prcek
Profil
tak když nezmenim mysql_select_db...
tak píše

Parse error: parse error in /3w/xf.cz/s/supermancup/a/bb.php on line 9
Prcek
Profil
hmm, tak už sem to opravil na to že mi to nepíše žádnej error ale prostě se to nezobrazí....
Školník
Profil
A co máš v bb.php na řádku devět? :-)

Testoval jsem ten skript, tabulku historie jsem si vložil do databáze "pokusna" na localhostu. Opravil jsem tam nekolik chybek, takhle mi to funguje:

<?
$dbhost = "localhost";
$dbusername = "";
$dbpass = "";
$dbname = "pokusna";

$db = mysql_connect($dbhost, $dbusername, $dbpass);
mysql_select_db($dbname, $db);

//vypis z databaze

$dotaz = mysql_query("SELECT * FROM historie");
echo mysql_error();
while ($otazka = mysql_fetch_assoc($dotaz)) {
echo $otazka["U (V)"];
}
?>
Prcek
Profil
muj řádek 9 -

mysql_select_db($dbname, $db);


jinak errory už mi to nepíše....prostě se to nezobrazuje....
Školník
Profil
A zkusil jsi ten skript co jsem poslal jako poslední?
Prcek
Profil
jojo, žádnej error, nic....když třeba prohodim velký písmena tam ki to napíše že to neexistuje...ale pak když to hodim do toho správnýho tak prostě nic...

napadá mě jen že v tý tabulce v mysql nic neni ale to je blbost...
Školník
Profil
Tak se podívej..:-)
Prcek
Profil
http://supermancup.xf.cz/a/bb.php prostě nic....

<?
$dbhost = "mysql.wz.cz";
$dbusername = "supermancup";
$dbpass = "xxx";
$dbname = "supermancup";

$db = mysql_connect($dbhost, $dbusername, $dbpass);
mysql_select_db($dbname, $db);



$dotaz = mysql_query("SELECT * FROM Historie");
echo mysql_error();

while ($otazka = mysql_fetch_assoc($dotaz)) {
echo $_otazka["U (V)"];
} ?>
Prcek
Profil
--
-- Struktura tabulky `Historie`
--

CREATE TABLE `Historie` (
`M` varchar(4) collate latin2_czech_cs NOT NULL default '0',
`Název (ID)` varchar(55) collate latin2_czech_cs NOT NULL default '0',
`Z` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`V` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`R` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`P` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`GV` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`GO` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`B` varchar(3) collate latin2_czech_cs NOT NULL default '0',
`U (V)` varchar(6) collate latin2_czech_cs NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs;

--
-- Vypisuji data pro tabulku `Historie`
--

INSERT INTO `Historie` VALUES ('1.', 'ac sparta praha (123)', '5', '4', '1', '0', '15', '5', '13', '1 (2)');
INSERT INTO `Historie` VALUES ('2.', 'slavia praha (109)', '5', '0', '1', '4', '5', '15', '1', '1');

tady je ten výpis....mno opravdu tam něco je :))
Školník
Profil
Omlouvám se, ale netuším. Poradí někdo další? Možná je problém na nastavení serveru poskytovatele. Jen Ti doporučím - v názvech řádků tabulek nepoužívej diakritiku, mezery a velká písmena, vyhneš se tak mnoha potížím..
Prcek
Profil
Prosimtě a zkusil by si mi poslat příklad "create table............" atd

a pak příkaz aby mi to vyvolalo ?

tedy myslím něco co máš vyzkoušené a jde to..., třeba po úpravě bych došel konečně tam kam chci :)
Toto téma je uzamčeno. Odpověď nelze zaslat.