Autor Zpráva
zdenek
Profil
ahoj, kde mám chybu??

		

<?php
$soubor_name_get = $_GET['soubor'];

		if (!$ukazatel=file_get_contents($soubor_name_get)) {
			echo "Soubor nelze precist!";
		}
else {
	
	$neco = fopen($soubor_name_get,r );
	
	$text = file($soubor_name_get);
$data=explode('|',$neco);//$data=explode('\n',$ukazatel);
$i=0;
foreach ($data as $hodnota){
	$i++; if($i>3) { $i=1; }

	connect();
	mysql_query("CREATE TABLE IF NOT EXISTS .$text[0] ( `id` int(255) NOT NULL AUTO_INCREMENT PRIMARY KEY, `hodnota` varchar(255) NOT NULL)") or die(mysql_error());
	mysql_query("TRUNCATE TABLE .$text[0]") or die(mysql_error());
	mysql_query ("INSERT INTO .$text[0] (hodnota) VALUES ('$hodnota')") or die(mysql_error());

}

?>

<table border=1 width=600>

<tr><td>SLOUPEC 1</td><td>SLOUPEC 2</td><td>SLOUPEC 3</td>

<?php

connect();
$sql = mysql_query ("SELECT * FROM .$text[0] ORDER by id") or die(mysql_error());

$i=0;
while($record = mysql_fetch_array($sql)){
	$i++; if($i>3) $i=1;

	$result = "<td>".$record['hodnota']."</td>";
if($i==1) $result ="<tr>$result";
elseif($i==3) $result.="</tr>";
	echo $result;
}
?>
</table>
<?php
}

?>



EDIT> volně navazující na toto vlákno
Kajman_
Profil *
To snad musíte vědět Vy.
zdenek
Profil
Kajman:

ale vypíše mi to při výstupu: Resource id #10

tak bych se chtěl zeptat, jestli nevíte v čem tu chybu mám.
Kajman_
Profil *
A který řádek to vypisuje dokážete zjistit?
zdenek
Profil
Kajman:

nic to nepíše. právě že kdyby to psalo, tak si to jsem schopen najít sám.
Kajman_
Profil *
zdenek:
ale vypíše mi to při výstupu: Resource id #10

nic to nepíše

Neodporujte si trošku? Pokud nemáte nějaký debuger, tak si tam dejte aspoň nějaká echa, ať víte, kdy se to vypíše, nebo si zkoušejte zapoznámkovat kusy kódu, tím se také chybné místo dá najít.
Davex
Profil
zdenek:
ahoj, kde mám chybu??
Na řádcích 3, 6, 8, 10, 11 atd.
Nauč se základy programování a PHP. Toto lepení kódu k ničemu nevede.
zdenek
Profil
Kajman:

a vy nevíte, kde by mohla být chyba?
zdenek
Profil
Davex:

co je se řádky 3, 6, 8, 10, 11 atd?
pcmanik
Profil
3 je trocha nelogicke priradovat premennu v podmienke, to sa vzdy potom vyhodnoti nezavisle na tom co sa do tej premenej ulozi.

Dalej sa mi to nechcelo pozerat.

Co ako ma toto robit?
$i++; if($i>3) $i=1;
zdenek
Profil
pcmanik:

to je jen navíc kód... zastaralý
pcmanik
Profil
zdenek:
Aha samozrejme, co ma to nenapadlo, daj sem normalny kod a nie takuto hatlapatlaninu, pekne popis co od toho ocakavas a co ti nejde, z pristupy ostatnych si si mohol vsimnut ze vsetkym sa nam vcera rozbili vestecke gule a nabuduce by aspon prosim nezaskodilo...
TomasJ
Profil
zdenek:
Chyby:
if (!$ukazatel=file_get_contents($soubor_name_get)) { //! tam nemá být
//6. řádek je ok
$neco = fopen($soubor_name_get,r ); //r má být v uvozovkách nebo apostrofech
//atd... 

Kód plný chyb. Jak píše Davex v [#7], nauč se základy PHP. Pokud nechceš, je tu sekce Práce a zakázky.
pcmanik
Profil
TomasJ:
Ako si prisiel ze tam ten vykricnik nema byt? Mozno to tak chce, jedina chyba tam je ze nieco priraduje do premennej a to sa vykona vzdy, co znamena ze sa vzdy vykona aj podmienka, v tomto pripade vdaka ! to rovno skoci na else
zdenek
Profil
TomasJ:

nechápu, proč by tam ten vykřičník neměl být. je tam pro nerovnost. pokud se to nenahraje, tak mi to vypíše Soubor nelze precist!.

a základy php umím, jen nevím, kde mám chybu, která mi hází: Resource id #10
Tori
Profil
zdenek:
CREATE TABLE IF NOT EXISTS .$text[0]
Opravdu má název tabulky začínat tečkou?

„Co ako ma toto robit?“
„$i++; if($i>3) $i=1;“
> „to je jen navíc kód... zastaralý“
Můžete sem, prosím, dát aktuální verzi? A kde vám to píše "Resource..." - v té tabulce, či kde?
zdenek
Profil
Tori:

ta tečka tu má být, protože se připojuje řetězec, a Resource.... se objevuje v té tabulce.
Kajman_
Profil *
zdenek:
ta tečka tu má být, protože se připojuje řetězec

Mýlíte se. Pokud je tečka uvnitř řetězce, nefunguje jako operátor. Ale to jsou opravdu základy, tak si je běžte nastudovat.

Ta tečka do mysql chodí, jen máte štěstí, že se jí odděluje databáze a tabulka a databáze asi nemusí být uvedená.

a Resource.... se objevuje v té tabulce.

To asi proto, že si ten text předtím uložíte do tabulky. Do $data totiž cpete ukazatel na soubor.
zdenek
Profil
Kajman:

a jak to změnit, abych do $data dával obsah souboru?

<?php

fpassthru();

?>


totiž nefunguje.
Tori
Profil
Už jste se ptal, dostal odpovědi a řekl, že už to funguje. Co se změnilo?
Btw sice jsem v tom předchozím vlákně radila použít file_get_contents, ale místo fopen+fpassthru. Tady používáte ještě navíc file a ani jedno nechápu.

Pokud soubor existuje, budete ho pravděpodobně moct i číst. Takže čitelnost souboru ověřte funkcí is_file (a eventuelně ještě is_readable), a pak použijte jednu funkci, kterou ten soubor budete číst. Nevím, jak máte formátovaná data v tom souboru - podle toho se vybere vhodná z nich.
zdenek
Profil
Tori:

to, že mi to vypíše:

Resource id #10

a jen tak pro pořádek. tato chyba se mi zobrazí v tabulce typu:
<table><tr><td></td></tr></table>
Tori
Profil
zdenek:
Ad příčina psaní „Resource id..“ - vizte Kajmanovu odpověď.
Doplnila jsem předchozí post.
zdenek
Profil
Tori:

a proč že se mi tam zobrazí to Resource id #10

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: