- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Xiaomi 14T - nem baj, hogy nem Pro
- Két nap múlva itt a Xiaomi 17, van egy pár hivatalos fotó is róla
- Samsung Galaxy S10 és S10+ duplateszt
- iPhone topik
- Vivo X200 FE – fenséges méret
- Xiaomi Mi 11 Ultra - Circus Maximus
- Apple Watch Sport - ez is csak egy okosóra
- Honor 200 Pro - mobilportré
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Vegyük azt az esetet, hogy mondjuk a "kedvezmény" mezőben mindössze négy érték szerepelhet:
0 (vagy NULL, esetleg semmi), 15, 25, 30Csak egy lehetséges (közel sem tökéletes, de szerintem működőképes) gyorsmegoldás keretében itt alább úgy csinálom, hogy hidden mezőkkel küldöm el az adott userhez és formhoz tartozó user_id-t, aminél lehet, hogy van szebb megoldás, de most hirtelen ez ugrott be.
A HTML része meg most úgy néz ki, hogy van egy nagy "kerettáblázat", és azon belül formonként külön-külön kis táblázatok, amiknek a mérete a CSS-stílusok meghatározása miatt passzol egymáshoz, így nincs gond a megjelenéssel.
De úgy döntöttem, inkább megmutatom az egészet, hogy én hogy gondoltam kezdve egészen a megjelenítéstől a feldolgozásig, így nem származhat belőle félreértés. A feldolgozó fájlhoz persze a saját szempontjaidat még hozzá kell fűznöd, és az "action"-nél be kell állítanod a feldolgozó fájl elérési útját, amennyiben nem ugyanabban a fájlban dolgozod fel, amiben meg is jeleníted (inkább szerintem küldd ki egy feldolgozó fájlnak!).Tehát maga a táblázat megjelenítése így nézne ki:
<?php
$discount_table=''; //ehhez fogjuk hozzáfűzni a tábla tartalmát, a feltételektől függően, aztán amikor a megjelenítéshez érünk (a body megfelelő részénél), ezt echo-zzuk (print-eljük) - szétválasztjuk a megjelenítést a feltételvizsgálatoktól
$query="SELECT * FROM user_table;";
$query = mysql_query("SELECT DISTINCT allatnev, datum, allapot FROM allat_tabla WHERE datum='$mai_nap' AND allatnev='$allatnev' ;")
or die ("Nem lehet lekérni az adatot a MySQL-táblából.<br />Hiba: ". mysql_errno() . ":". mysql_error() ."<br />");
while( $res = mysql_fetch_assoc($query)){
user_array[]=$res;
}
if( isset($user_array) ) //csak ha már vannak felhasználók a táblában, akkor kezdjük el az egészet
{
$user_array_size=count($user_array); //hány sor van
$discount_table='
<table width="500" border="1">
<tr>
<td>
<table class="user">
<tr>
<td class="user_name">Név</td>
<td class="status">Státusz</td>
<td class="discount">15%</td>
<td class="discount">25%</td>
<td class="discount">30%</td>
<td class="submit_col">Elküldés</td>
</tr>
</table>
';
for($i=0;$i<$user_array_size;++$i)
{
//hozzáfűzzűk a többit, itt jönnek az egyes formok (actionnek a megfelelő fájlt adjuk meg)
$discount_table .='
<form id="form_'.$i.'" name="form_'.$i.'" method="post" action="">
<table class="user">
<tr>
<td class="user_name">'.user_array[$i]['nick'].'</td>
<td class="status">'; //van már beállított kedvezmény?
if( !empty(user_array[$i]['kedvezmeny']) ) //ha már beállítottunk kedvezményt
$discount_table .= 'Ennek a usernek '.user_array[$i]['kedvezmeny'].' kedvezmény jár.';
else
$discount_table .='Még nincs beállítva kedvezmény.';
//folytatjuk
$discount_table .='
</td>
<td class="discount"><input type="radio" name="discount" value="15" /></td>
<td class="discount"><input type="radio" name="discount" value="25" /></td>
<td class="discount"><input type="radio" name="discount" value="30" /></td>
<td class="submit_col">
<input type="hidden" name="user_id" value="'.user_array[$i]['id'].'" />
<input type="submit" name="discount_submit" value="Elküldés" />
</td>
</tr>
</table>
</form>
';
}
//lezárjuk
$discount_table .='
</td>
</tr>
</table>
';
}
else //üres a tábla
$discount_table='Még nincsenek felhasználók!';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Kedvezmények megjelenítése</title>
<style type="text/css">
<!--
.user{
width:600px;
}
.user_name{
width:100px;
}
.status{
width:200px;
}
.discount{
width:40px;
}
.submit_col{
width:80px;
}
-->
</style>
</head>
<body>
<?php echo $discount_table; ?>
</body>
</html>------------------------------------
Aztán maga a feldolgozás LÉNYEGI része (még az esetleges hibaüzenetekkel és egyebekkel ki kellene egészítened, ha szükséges) meg így nézne ki:<?php
if(isset($_POST['discount_submit'])){
$query="UPDATE adatbazisod.user_table SET kedvezmeny = ".$_POST['discount']." WHERE user_id = ".$_POST['user_id']." ;";
$query = mysql_query($query)
or die ("Nem lehet lekérni az adatot a MySQL-táblából.<br />Hiba: ". mysql_errno() . ":". mysql_error() ."<br />");
//további esetleges ellenőrzések, hibaüzenetek, ha kell...
?>---------------
Remélem működni fog!
-
Sk8erPeter
nagyúr
Hali!
Csak ehhez tudni kéne, hogy mit szeretnél update-elni a submit gombbal, ha már eleve fel van töltve a táblába, hogy van-e adott usernek kedvezménye, vagy sincs, és ha igen, mennyi.
Tehát amiután lekérdezted, van-e kedvezmény, és mennyi, minek szeretnél formot elküldeni? Biztos van valami célja, csak nem írtad le.
Amúgy ezek ismeretében nem nehéz. Csak "checked" állapotúra kell állítani az adott radio buttont: [link].
Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen videókártyát?
- Szemüveges topik
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- AMD Navi Radeon™ RX 9xxx sorozat
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Tőzsde és gazdaság
- Autós topik látogatók beszélgetős, offolós topikja
- További aktív témák...
- Új elekrtomos rollerek és e-bike dobozban, 1 év garanciával:
- FÓLIÁS, szinteÚJ SKY BLUE MacBook Air 13.6" M4 10C/8G 16GB 512GB 1 év gar.
- Asus ProArt Gamer PC Intel Core i7 14700HX/RTX 4080 Super/64GB RAM/4TB SSD konfig eladó jó áron
- 5530 15.6" FHD IPS i5-1235U 16GB 256GB NVMe magyar vbill ujjlolv IR kam gar
- AMD RYZEN 3 - 5 / DDR4 / NVME SSD / HDMI / Normál magas vga is rakhato bele , nem SFF méret
- HIBÁTLAN iPhone 14 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3242
- Apple iPhone 12 Pro Max / 256GB / Kártyafüggetlen / 12Hó Garancia
- Bomba ár! Lenovo V15-ADA - Ryzen 3 I 8GB I 256SSD I 15,6" FHD I Radeon I HDMI I Cam I W11 I Gari
- Iphone 15 128GB // Számla + Garancia //
- Xbox Game Pass Ultimate előfizetések kedvező áron
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest