Autor Zpráva
MrGacy
Profil
Ahoj.
Zacinam s PHP, takze je mozne ze Vam muj kod prijde zabavny ;-). Zkousel jsem hledat, ale nenasel jsem. Tak se Vas zeptam:
Chci data z databaze ulozit do pole timto cyklem:
-----------------------------------------------------------------------------
$i=0;
while ($zaznam=MSSQL_Fetch_Array($data)):
	$i++;
	$commit[$i] = $zaznam["COMMIT_NO"];
	$car[$i] = $zaznam["CAR_CODE"];
	$body[$i] = $zaznam["BODY_NO"];
endwhile;

-----------------------------------------------------------------------------
Pole funguje spolehlive, problem mam s tim, ze do "pole[1]" se zapisou az druhe hodnoty z databaze.
Pritom pokud si to vypisu takto:
-----------------------------------------------------------------------------
while ($zaznam=MSSQL_Fetch_Array($data)):
      echo "<TR><TD>".$zaznam["COMMIT_NO"]."</TD><TD>".$zaznam["CAR_CODE"]."</TD><TD>".$zaznam["BODY_NO"].......atd.
endwhile;

-----------------------------------------------------------------------------
...je vse ok a zacne vypisovat od prvni polozky.
Takze mi to nejak nejde do hlavy..... :-)
MrGacy
Profil
Pokud by jste potrebovali cely kod:

<TABLE border="1" width="400">
<TR><TD>SQ</TD><TD>CAR TYPE</TD><TD>BODY NO.</TD><TD>POLE</TD></TR>
<?php
include ("db_con_config.php");

$link = mssql_connect(SQL_HOST, SQL_USER, SQL_PASS);
mssql_select_db('MCS_MESDB', $link);

$data = mssql_query ("SELECT * FROM [dbo].[TB_WORK_ORDER_CPM01] WHERE ORDER_DATE = '20100301'");
$rows = mssql_num_rows($data);
!!!$pocet = MSSQL_Fetch_Array($data);!!!

$i=0;
while ($zaznam=MSSQL_Fetch_Array($data)):
	$i++;
	$commit[$i] = $zaznam["COMMIT_NO"];
	$car[$i] = $zaznam["CAR_CODE"];
	$body[$i] = $zaznam["BODY_NO"];
endwhile;

$i=0;
while ($rows > $i):
	$i++;
	echo "<TR><TD>".$commit[$i]."</TD><TD>".$car[$i]."</TD><TD>".$body[$i]."</TD><TD>".$i."</TD></TR>\n";
endwhile;

mssql_close ($link);
?>
</TABLE>


A jelikoz se mi to pole zacina plnit od druhych hodnot tak diky teto podmince:
while ($rows > $i)
mi to pak samozrejme jeste hazi chybu ze posledni polozka je prazdna, coz je jasne. :-)

Vysledek vypada asi takto:

baklazan
Profil *
$i++ mas na zaciatku cyklu. Daj ho nakoniec

takto :
$i=0;
while ($zaznam=MSSQL_Fetch_Array($data)):    
    $commit[$i] = $zaznam["COMMIT_NO"];
    $car[$i] = $zaznam["CAR_CODE"];
    $body[$i] = $zaznam["BODY_NO"];
    $i++;
endwhile;
MrGacy
Profil
Tak ted budu za idiota :-)

Problem byl v:
$zaznam=MSSQL_Fetch_Array($data)
ktery tam byl dvakrat. Pravdepodobne se sam snizuje o jeden....?

Ackoli mi toto forum pomohlo s problemem, protoze jsem na to prisel pri korekci kodu ktery jsem tady chtel zverejnit, zadam adminy o smazani vlakna a omlouvam se.

Snad jsem Vas pobavil ;-)
tiso
Profil
MrGacy: prečo tie riadky nevypíšeš priamo v tom while cykle? Zbytočne ich kopíruješ do tých polí...
MrGacy
Profil
tiso:
Chci nacist DB pouze jednou a pak se dotazovat na pouze nove pridane polozky abych nezatezoval DB....
tiso
Profil
MrGacy: skús to podrobnejšie vysvetliť, pretože ten kód, ktorý si sem dal tak nefunguje.
MrGacy
Profil
Ano jeste tak nefunguje, odpovidal jsem ti na to pole..... Resil jsem problem s plnenim do pole.... Porovnavani novych dat s mym polem budu teprve programovat...
V podstate jde o to, aby se po spusteni skriptu neustale kontrolovaly duplicity, napr. kazdou minutu. Coz by pri velikosti DB bylo asi dost narocne....
tiso
Profil
MrGacy: a načo to bude dobré?

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: