ugrás a tartalomhoz

Tartományos PHP példa átírása saját igényeimre

cordoba · 2006. Május. 19. (P), 17.23
Sziasztok!

Segítséget szeretnék kérni e php kód értelmezésében.Most tanulgatom amúgy és azt szeretném ha az adatbázisba adott sorba kicseréljem az adatot. ezt a php24 óra alattba találtam csak nem tom hogy -hogy müxik a dolog. szeretném ha segítenétek hogy milyen dolgokat, például a tábla neve az igaz a "tartomanyok" ,de nekem mondjuk "proba" lenne a tábla neve akkor melyik sorba kellene átirni".Két mező van benne a tartomany, meg az azonositó? ezt se tudom pontosan

Köszi szépen előre is!
<?php
$felhasznalo = "";
$jelszo = "";
$adatbazis = "";
$kapcsolat = mysql_connect( "localhost", $felhasznalo, $jelszo );
if ( ! $kapcsolat )
die( "Nem lehet kapcsolódni a MySQL.kiszolgálóhoz!" );
print "Sikerült a.kapcsolatfelvétel<P>";
mysql_select_db( $adatbazis ) 
or die ( "Nem lehet megnyitni a.$adatbázist: " .mysql_error() );
print "Sikeresen kiválasztott adatbázis: \" $adatbazis\"<P>";
mysql_close( $kapcsolat );
if ( isset( $tartomany ) && isset( $azonosito ) )
{
$parancs = "UPDATE tartomanyok SET tartomany ='$tartomany' WHERE azonosito=$azonosito";
$eredmeny = mysql_query( $parancs );
if ( ! $eredmeny )
die ("Nem sikerült a módosítás: " .mysql_error());
print "<h1>A tábla módosítva, ". mysql_affected_rows() .
" sor változott</h1><p>";
}
?>
<form action="<? print $PHP_SELF ?>" method="POST">
<select name="azonosito">
<?
$eredmeny = mysql_query( "SELECT tartomany, azonosito. FROM tartomanyok" );
while( $egy_sor = mysql_fetch_object( $eredmeny ) )
{
print "<option value=\"$egy_sor->azonosito\"";
if ( isset($azonosito) && $azonosito == $egy_sor->azonosito )
print " selected";
print "> $egy_sor->tartomany\n";
}
mysql_close( $kapcsolat );
?>
</select>
<input type="text" name="tartomany">
<input type="submit" value="Frissítés">
</form>
 
1

Hibás...

janoszen · 2006. Május. 19. (P), 17.27
Nagyjából annyit fog csinálni, hogy megnyit egy adatbázis kapcsolatot, megnyitja az adatbázist, lecsukja és utána megpróbálja a queryket végrehajtani.

A melyik sorban kell átírni kérdést egy egyszerű search replace megmondja. Egyébként a mysql_query-s sorokban.
2

Adatbázis

Poetro · 2006. Május. 19. (P), 17.30
Azt kell kicserélni, ahol az adatbázis-ra hivatkozik. Különben, ha jól emléxem, akkor a könyv elég jól elmagyarázza, hogy működik a kód.
Azaz az $adatbazis-nak kell az értékét "proba"-ra állítni:

<?php
$felhasznalo = "felhasznalo"; // $felhasznalo értékét felhasznalo-ra allitjuk
$jelszo = "jelszo"; // $jelszo értékét jelszo-ra allitjuk
$adatbazis = "adatbazis"; // megadjuk az adatbázis nevét, ami jelen esetben adatbazis
?>
Különben a http://php.net -en minden függvénynek megtalálod a részletes magyarázatát jórészt magyarul is.
A tábla nevére a mysql_query függvényhívásokban kell keresni a cserélés érdekében.
3

nem adatbázis

Anonymous · 2006. Május. 19. (P), 20.32
A kérdező nem az adatbázis nevét említi hanem a táblának a nevét. Először a $parancs-ban szerepel:UPDATE tartomanyok(helyett proba) SET... ; aztán a $eredmeny: Select ... FROM tartomanyok(helyett proba). Ezeket kell átírnod persze ez csak akkor fog működni ha van egy proba nevű táblád és itt jön az a kérdésed amit igazából nem értek.
Két mező van benne a tartomany, meg az azonositó?
hát hogy dolgozol PHP kóddal és adatbázissal ha nem tudod hogy milyen mezői vannak az adatbázisodnak? Először csináld meg az adatbázist tegyél bele értékeket aztán mehet az UPDATE. Szerintem kérdésed kissé korai ugyanis a php24óra alatt tökéletesen elmagyarázza ezt a részt.
4

oké haladok

cordoba · 2006. Május. 19. (P), 21.14
Anonymus ráérzett a kérdésemre és köszike ez már igy kijavitottam, és megértettem is. deee

Az adatbázisomba,a proba táblámba 2 mező van: a tartomany meg az azonositó.
átírtam a 2 helyen a a "tartomanyok" táblát proba-ra a kódban.
lefutattam a kódot, és csak egy mezőt hoz amibe valasztani lehet meg egy másikat amibe lehetne irni a frissitést csak mind a kettő üres. vagyis ahol választani lehet az üres. nem tudja lekérdezni az adatokat a mzőböl?ez a php kódba van valami vagy abba am,it létree hoztam adatbázist szerintetek?
5

ismét Anonymous de maradjuk az Attilánál :)

Anonymous · 2006. Május. 20. (Szo), 06.57
Nos ha jól látom a kódodnak olyasmit kellene csinálnia hogy egy választható <option> listába teszi az azonosító szerint a mezőket amik megvannak, lehet választani és akkor amit beírsz tartományokhoz akkor az olyan azonosítújú tartományok mezőt fogja UPDATELNI. Először is mindíg ellenőrizd hogy létrejött e a kapcsolat az SQL-el és meg tudta e nyitni az adatbázist. Ugy látom hogy ott vannak a hibakezelő dolgok ami jó, de vajon a jó adatbázist nyitottad meg? Tényleg abba van a proba tábla? (igaz akkor már jelezte volna de hátha...) A másik: Van e valami a tábládban?? Ha semmi nincs benne akkor semmit sem fog kilistázni. Ha jó az adatbázisnév és adat is van benne akkor tudni fogod hogy kódhiba van. Szerintem olyan táblát hoztál létre aminek az azonosító mezője mindíg egyel növekszik automatice az meg benne van a könyvben nem lehet elrontani. Aztán ha nincs benne adat tegyél bele. Ha kódhiba van bontsd részleteire. Először jelölj ki csak 1 mezőt. Aztán jöhet a lista. Majd rendelheted hozzá a tartományokat.

Attila