Diskuze: PHP, CSV, databáze............
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Vytvoř pole objektů o velikosti počtu klíčů a inicializuj ho na nulu. Prvky objektu tvoří soucet1, soucet2, pruchod. Přečti data ze souboru, na indexu o hodnotě klíče aktualizuje hodnoty součtů a nastav indikátor průchod na 1. Při zápisu projdeš celé pole a data budeš zapisovat v případě že průchod bude roven 1.
Vsechno vis, ale nedal jsi sem zadny kod. Takze nevime, kde delas chybu?
// https://www.php.net/manual/en/function.fgetcsv.php
// Example #1 Read and print the entire contents of a CSV file
// prepsal jsem jen jmena promenych
<?php
// pridano
$out = array()
$id = 0;
$file_name = "test.csv";
$row_index = 1;
if (($handle = fopen($file_name, "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
// $col_end = count($row);
// echo "<p> $num fields in line $row_index: <br /></p>\n";
// $row_index++;
// for ($col_index=0; $col_index < $col_end; $col_index++) {
// echo $row[$col_index] . "<br />\n";
// pridano
$id = (int) $row[0]; // prevedes "string" na "int" nebo "float", "double", intval(), floatval() // slova pro google = php floatval
if (isset($out[$id]))
{ $out[$id][5] += (int) $row[5]; } // prevedes "string" na "int" a prictes
else
{ $out[$id] = $row; $out[$id][5] = (int) $row[5]; } // zkopirujes radek a prevedes "string" na "int", abys k tomu mohl pricitat
}
}
fclose($handle);
}
?>
https://stackoverflow.com/questions/8529656/how-do-i-convert-a-string-to-a-number-in-php
Hele, ale, mi za tebe nemuzeme delat domaci ukoly do programovani. To se nenaucis premyslet dopredu, jake kroky chces podniknout, abys docilil vysledku.
Díky za odpověď a hlavně za pomoc. Ten kód jsem sem nedal, protože mi to přišlo zbytečný. Vyřešil jsem to pomocnou tabulkou v databázi a, ale přijde mi to takový jako zasírání databáze pomocnejma tabulkama. K´d o tebe určitě prozkoumám. Ještě jednou, díky.
Ještě chci dodat, že nedělám domácí úkol. Už jsem velkej kluk a nechodím do školy. Programuju si ve volném čase jen tak pro radost. Jsem samouk a navíc automechanik. Na diskuzní fóra se obracím jen když už je to nezbytný.
Hele, vím, že si nad tím strávil nějaký čas, abys mi pomohl a nechci znít nevděčně, ale ten kód "tak jak tu je", nefunguje. Zkopíroval jsem to, spustil a hlásí to neočekávaná proměnná id na řádku 5. ( $id = 0; )
Pocita se tu s tim, ze potrebujes poradit. Chybky si nejak uz opravis. Zvlast
takove, ze nekde chybi strednik. Pokud mas zaply vypis chyt, tak php ti primo
napise, ze tam cekal strednik na tom a tom radku. A necekace se tam objevilo
$id.
Ale, muzou tam byt i jine chyby, psal sem to z hlavy.
$out = array(); // strednik zde, na konci
$id = 0;
Tak ted nevim, zda ma smysl ti vysvetlovat zbytek kodu. Ale s tou db to mas lepsi, rychlejsi.
SELECT a,b,c FROM tab
SELECT a,sum(b) as bs,sum(c) as cs FROM tab GROUP BY a
Ten sql prikaz udela totez jako cely ten php kod
Omlouvám se, nevšiml jsem si chybějícího středníku. Vím, že PHP dost držkuje, když člověk zapomene středník, ale chybový hlášky jsou občas dost zmatečný, protože mě to upozorňuje na proměnnou, ale myslí to chybějící středník Nejsem na to zvyklej, mám radši JavaScript a ten je k chybějícím středníkům tolerantní.
Nakonec jsem to s tím polem pochopil a vyřešil.
Každopádně, ještě jednou díky za pomoc.
Zobrazeno 9 zpráv z 9.