2 db adattáblából hogy tudom kiolvasni a dolgokat? (részletek lent)
Tehát van 2 táblám a MySQL-ben, mondjuk így néz ki:
1. tábla:
érték1 érték2 érték3 érték4
5 8 350 720
5 9 300 650
6 4 150 200
7 4 500 950
2. tábla
sorszam nev telefon
(1. tábla érték1 értékei) név 0630....
Nah az a gondom, hogy az egyik oldalon beviszem az adatokat az 1. táblába, a másik oldalon a 2. táblás dolgokat, viszont nem tudom, hogy hogy tudom úgy visszakérni az adatokat, hogy a 2.tábla sorszam oszlop értékeit megcsinálom gomboknak, és ha rákattint, akkor az összes olyan sort kiírassa a php, amelyiknek az értéke megegyezik.
Nem tudom hogy ez így mennyire volt érthető, linkelek hozzá kódrészt is, hátha érthetőbb lesz :)
$tulaj = mysql_query("SELECT * FROM tulajdonosok;");
while ($szortir = mysql_fetch_assoc($tulaj)){
echo "<a href=\"tulajdonosok/tulajdonos_".$szortir['sorszam'].".php\"><input type=\"button\" value=\"".$szortir['sorszam']."; ".$szortir['tulajdonos']."\" /><br /></a>";
Nah ez a kód csinálja meg nekem a gombokat, amikre ha rákattint az illető, akkor a gombon levő szám szerint listázza ki az adatbázisban levő adatokat.
Remélem hogy azért így érthetőbb mire akarok kilyukadni :)
Másik kérdésem a MySQL-el kapcsolatos. Hogy tudom megcsinálni azt, hogy mikor nem írnak be sorszámot az emberhez, akkor a progi automatikusan egy üres helyre írja be, és ne az utolsót folytassa? (phpmyadminban az A_I ki van pipálva arra az ozslopra)
Az elsőhöz: légy szíves, írd le normálisan a két tábla nevét, a mezők nevét, a kulcsokat és a kapcsolatot.
A második kérdés zavaros. Még azt sem írtad le, mi az alapműködés, amihez képest eltérnek. Ha azt akarod, hogy a sorszám nélküli beíráshoz új rekord tartozzék, akkor az nem MySQL, hanem PHP, ott kell az elágazást megcsinálni, nem a lekérdezésben.
Sokkal jobb lenne, ha szakkifejezéseket használnál, mert az "üres helyre rakja be" sok mindent jelenthet az életben, de adatbázis-kezelés kapcsán semmiképpen sem szabatos vagy egyértelmű.
Úgy érzem, hogy nem igazán látod át, hogy mi is a PHP lényege. külön php fájlokba kiszervezni az ilyen lekérdezéseket felesleges munka. Pont ezért találták ki a php-t, hogy ne kelljen minden "oldalhoz" külön megírni a html fájlokat.
A helyes megoldás az, ha ugyanaz a php fájl végzi az adatkijelzést az átadott paraméterek alapján. A paramétereket lehet $_GET vagy $_POST metódussal átadni.
A mysql adattáblákhoz fontos konvenció - amit érdemes követni - hogy oszlopoktól függetlenül legyen egy id nevű elsődleges (PRIMARY KEY) oszlop, aminek a tartalma INT(10) és automatikusan növekszik (AUTO INCREMENT). Ez az oszlop az adott tábla minden sorát egyedileg azonosítja, hivatkozási alapot biztosítva a többi táblának.
Az input elemeket anchor tag-be zárni nemcsak felesleges, de szabálytalan megoldás is.
Én a választható elemeket inkább egy select elembe szervezném, de ez nagyban függ attól hol és hogyan akarod ezt megjeleníteni.
$_GET példa:
$tulaj = mysql_query("SELECT * FROM tulajdonosok;");
while ($szortir = mysql_fetch_assoc($tulaj)){
echo '<a href="kijelez.php?id='.$szortir['id'].'">'.$szortir['tulajdonos'].'</a><br />';
}
--- megkapott paraméter:
$_GET["id"]
$_POST példa:
$tulaj = mysql_query("SELECT * FROM tulajdonosok;");
echo '<form method="post" action="kijelez.php">';
echo '<select name="id">';
while ($szortir = mysql_fetch_assoc($tulaj)){
echo '<option value="'.$szortir['id'].'">'.$szortir['tulajdonos'].'</option>';
}
echo '</select>';
echo '<input type="submit" name="send" value="Kiválaszt" />';
echo '</form>';
--- megkapott paraméter:
$_POST["id"]
Ezek nagyon alap példák, de kiindulhatsz belőlük. A paraméterben megkapott adat alapján aztán a kijelez.php már felépítheti a megfelelő lekérdezést, és az alapján az oldal tartalmat.
Sok sikert!
Drone007
Köszönöm szépen, nekem a $_POST verzió tökéletesen megfelelt, és működik is:)
amúgy <a> tagbe lehet rakni <button>-t?
Miért szeretnél <a> tage-be <button> tag-et tenni? Mindkettőnek megvan a maga funkciója, és egymás funkcióját önmagukban képesek szimulálni - ha nagyon muszáj.
A button tag-et az onclick eseménnyel ráveheted arra, hogy megnyisson egy másik oldalt (kis javascript segítségével)
Az anchor tag-et, pedig némi css formázással át tudod alakítani, hogy úgy nézzen ki mint egy gomb.
egy sima alap css példát tudnál írni?
folyamatosan tanulom a webprogramozást, de elég gyors iramban haladunk, így nem veszünk mindent részletesen (a javascriptet pl csak átfutottuk).
Rövid példák:
Button + Js :
<button type="button" onclick="self.location='http://www.google.com/';">Kattints!</button>
Anchor:
<a href="http://www.google.com/" class="button">Kattints!</a>
CSS:
a.button {
diplay: inline-block;
margin: 2px;
padding: 2px 5px;
border: 1px solid #CCC;
background: #666;
color: #FFF;
font-weight: bold;
}
a.button:hover {
color: #FC0;
}
A css-t persze még egyedileg lehet formázgatni, hogy olyan kinézetű gombot kapj, amilyet szeretnél (akár a button esetében is). Javaslom próbálgasd, tesztelgesd, akár a w3schools.com oldalán!
http://www.w3schools.com/tags/
Köszi az infót, ezek ideiglenesen megfelelnek, localhoston üzemelő leltárhoz kell még csak, de ha belejövök, akkor sztem fogom használni a neten is:)
Köszi a segítséget :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!