Hirdetés
- Luck Dragon: Asszociációs játék. :)
- DarthSun: Retro kedvenceim 5. A P4 korszak a 423- tól a 478- ig
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- eBay-es kütyük kis pénzért
- pechman8: 300B vs GU50 A Herceg és a Koldus
- Elektromos rásegítésű kerékpárok
- Pajac: PassMark - Intel Core2 Quad Q9400
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Ú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!
Új hozzászólás Aktív témák
- Battlefield 6
- Sokkal drágább lett az „olcsó” Tesla, mint várták
- PlayStation 5
- Jövedelem
- The Division 2 (PC, XO, PS4)
- exHWSW - Értünk mindenhez IS
- Bestbuy játékok
- AMD Ryzen 9 / 7 / 5 / 3 3***(X) "Zen 2" (AM4)
- AMD Catalyst™ driverek topikja
- Mégis marad a Windows 10 ingyenes frissítése
- További aktív témák...
- Precision 7770 17.3" FHD IPS i7-12850HX RTX A3000 32GB 1TB NVMe ujjlolv IR kam gar
- Airpods 4 fülhallgató
- T14 Gen2i 14" FHD IPS i7-1185G7 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- Latitude 7420 27% 14" FHD IPS i5-1145G7 16GB 512GB NVMe ujjlolv IR kam gar
- Dell Latitude 9520 15" FHD IPS i7-1185G7 16GB 512GB NVMe ujjlolv IR kam gar
- Vállalom telefonok,tabletek javítását ,(szoftveres hibát is,frp lock-ot is)márkától fügetlenűl
- PNY Quadro P600
- REFURBISHED - DELL Performance Dock WD19DCS (210-AZBN)
- BESZÁMÍTÁS! Acer KG251QF 24 144Hz FHD TN 1ms monitor garanciával hibátlan működéssel
- LG 55CS6 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest