Autor Zpráva
DarkMeni
Profil
Zdravím, narazil jsem na docela zajímavý "jev", v tomto neúplném kódu:
	$column = mysql_real_escape_string($_GET["column"]);
	$table = mysql_real_escape_string($_GET["table"]);
	$where = mysql_real_escape_string($_GET["where"]);
	if(empty($column)){$column = "*";}
	if(empty($table)){die();}
	if(!empty($where)){$where = " WHERE ".$where;}
	$result = mysql_query("SELECT ".$column." FROM ".$table.$where)or die(mysql_error());
	while($row = mysql_fetch_array($result)){
		echo "<!--row-->";
		$columns = count($row)/2;
		for($num=0;$num < $columns;$num++){
			echo "<!--column-->".$row[$num];
		}
		/*foreach($row as $data){
			echo "<!--column-->".$data;
		}*/
	}

(Soubor je php skript pro získávání dat XMLHttpRequestem z databáze)
(column nedefinuju, takže by tam měla skočit hvězdička)
by měl foreach bezbroblémově fungovat, ale on počet sloupců zdvojnásobí, a jednou mi to snad i ztrojnásobil, jak to?
Pro představu, když chci:
#id | CasOdeslani | Odeslal | Komentar |
1 | 20.2.2020 | NejakeJmeno | Ahoj... |
(<!--row--><!--column-->1<!--column-->20.2.2020<!--column-->NejakeJmeno<!--column-->Ahoj...)
ale dostanu:
1 | 1 | 20.2.2020 | 20.2.2020 | NejakeJmeno | NejakeJmeno | Ahoj... | Ahoj... |
(<!--row--><!--column-->1<!--column-->1<!--column-->20.2.2020<!--column-->20.2.2020<!--column-->NejakeJmeno atd...)
Věděl by někdo jak je to možné a jak to vrátit do normálu aniž by jsem musel vydělit dvěma počet sloupců? (co kdyby vyšlo desetinné číslo, to by pak byl problém).
Tori
Profil
Není-li určeno jinak, funkce mysql_fetch_array vrací výsledky jako číslované a také asociativní pole. Takže první sloupec je k mání jako $row[0] i $row[id]. Buď můžete doplnit druhý parametr k této funkci, anebo použít jinou, která vrátí jen číslované/asoc. pole.

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:

0