| Autor | Správa |
chiwo
 Užívateľ
 Založený: 14.06.2007 Príspevky: 72
 | Zaslal: Ne 06.01.08 21:14 |   |
robim anketu a 2 krat neviem ako napisat sql dotaz tak aby robil co ma
| kód: |
<?php
if (isset($_GET['addvote'])) { //funkcia na zapacitanie hlasu
$i = 0;
while($_POST['odpoved'] !=$i) {
$i++;
}
$maxlim = $i+1;
mysql_query("UPDATE `odpovede` SET `pocet` = '($pocet + 1)' WHERE `idinq` = '".$row['id']."' ORDER BY `id` LIMIT $i,$maxlim"); // toto ma zvysit pri odpovedi pocet hlasov a neviem ako zapisat zvysenie poctu o 1 a este neviem ako nadstavit ten limit tak aby upravilo tu moznost pre ktoru sa hlasovalo napr. hlasujem za moznost 5 tak dam limit 5,6 ak to spravne chapem
mysql_query("UPDATE `ankety` SET `pochlas` = '($pochlas + 1)' ORDER BY `id` DESC"); //zvysuje pocet vsetkych prispevkov v ankete a potrebujem ho tiez zvysit o jeden
mysql_query("UPDATE `users` SET `hlasoval` = '1' WHERE `id` = '".$user->id."' ");
header("location: index.php?page=main");
}
$res = mysql_query("SELECT `id`,`otazka` FROM `ankety` ORDER BY `id` DESC LIMIT 1");
if (mysql_num_rows($res) == 1) {
$odp = mysql_fetch_array($res);
echo "<form action="?page=inq&addvote" method="post">
<table border="0" cellpadding="0" cellspacing="0">";
echo "<tr><td>".$odp['otazka']."</td></tr>";
}
$resodp = mysql_query("SELECT * FROM `odpovede` WHERE `idinq` = '".$row['id']."' ORDER BY `id` ");
$j = 1;
if (mysql_num_rows($resodp) >= 1) {
while ($row = mysql_fetch_array($resodp)) {
echo "<tr><td><input type="radio" name="odpoved" value="$j">".$row['odpoved']."</td></tr>";
$j++;
}
echo "</table></form>";
?>
|
Problem cislo 3 Neviem to usporiadat lebo to addvote nemoze byt na zaciatku jedine ze by som tomu nacital hodnoty ktore potrebuje (teda aspon podla mojho skromneho uvazenia) Jedna sa o ankety v ktorych bude vzdy aktivna len posledna anketa Prosim o help |
| |
   |
 |
martin90
 Užívateľ
 Založený: 23.01.2007 Príspevky: 242
 | Zaslal: Ne 06.01.08 21:54 |   |
a kde je chyba? čo ti nejde? |
| |
     |
 |
vl4kn0
 Užívateľ
 Založený: 22.11.2007 Príspevky: 254 Bydlisko: 127.0.0.1
 | Zaslal: Ne 06.01.08 22:04 |   |
najskor by si mohol skusit upravit ten kod chybaju ti tam zatvorky, uvodzovky a tak podobne. predpokladam ze si to nepisal ty alebo ano? k tym limitom LIMIT ma 2 parametre. jeden povinny a jeden nie. ak das iba jeden cize LIMIT 3 napr tak to znamena kolko zaznamov ma vybrat.
ak das LIMIT 3,4 neznamena to ze sa ti ma vybrat od 3 po 4 zaznam cize jeden. alze znamena to ze sa ma vybrat od 3 zaznamu 4 zaznami. ale to sa dava iba pri vybere a urcite nie pri update v tvojom pripade by ti ten LIMIT asi hadzal chybu. dalej. kde si zobral premenne $pocet a $pochlas? ty si tie premenne nemozes vytvorit ako sa ti chce ked chces navisit v update zaznam o 1 tak das
| kód: | | UPDATE ankety SET pochlas = pochlas+1; |
a tento tvoj riadok | kód: | $res = mysql_query("SELECT `id`,`otazka` FROM `ankety` ORDER BY `id` DESC LIMIT 1");
if (mysql_num_rows($res) == 1) |
by ti asi tiez nefungoval lebo mas zadany resource $res ale to je iba prostriedok ten sam o sebe neobsahuje ziadnu hodnotu. kde chces zistit pocet vybranych zaznamov tak daj
| kód: | | $num = mysql_num_rows($res) |
ale to by si mal ovladat ale kedze mas taketo chyby predpokladam ze PHPcku sa venujes velmi malo ak sa mu teda vobec venujes. |
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... | |
     |
 |
chiwo
 Užívateľ
 Založený: 14.06.2007 Príspevky: 72
 | Zaslal: Ne 06.01.08 23:12 |   |
| vl4kn0 napísal: | najskor by si mohol skusit upravit ten kod chybaju ti tam zatvorky, uvodzovky a tak podobne. predpokladam ze si to nepisal ty alebo ano? k tym limitom LIMIT ma 2 parametre. jeden povinny a jeden nie. ak das iba jeden cize LIMIT 3 napr tak to znamena kolko zaznamov ma vybrat.
ak das LIMIT 3,4 neznamena to ze sa ti ma vybrat od 3 po 4 zaznam cize jeden. alze znamena to ze sa ma vybrat od 3 zaznamu 4 zaznami. ale to sa dava iba pri vybere a urcite nie pri update v tvojom pripade by ti ten LIMIT asi hadzal chybu. dalej. kde si zobral premenne $pocet a $pochlas? ty si tie premenne nemozes vytvorit ako sa ti chce ked chces navisit v update zaznam o 1 tak das
| kód: | | UPDATE ankety SET pochlas = pochlas+1; |
a tento tvoj riadok | kód: | $res = mysql_query("SELECT `id`,`otazka` FROM `ankety` ORDER BY `id` DESC LIMIT 1");
if (mysql_num_rows($res) == 1) |
by ti asi tiez nefungoval lebo mas zadany resource $res ale to je iba prostriedok ten sam o sebe neobsahuje ziadnu hodnotu. kde chces zistit pocet vybranych zaznamov tak daj
| kód: | | $num = mysql_num_rows($res) |
ale to by si mal ovladat ale kedze mas taketo chyby predpokladam ze PHPcku sa venujes velmi malo ak sa mu teda vobec venujes. |
nevsimol som si kde mi ma co chybat Aspon takto podobne som robil forum sice len take jednoduche a islo v poho Kod som pisal ja Viem ze limit ma 2 parametre a aj viem ako sa pouzivaju len som nevedel ze to funguje len pri vypisovani S tymi premennymi som nepochopil co myslis Mam ich v tabulke v databaze a pokial viem netreba ich deklarovat ako v pascale Diky za to navysenie updatu A ten posledny riadok funguje lebo ho mam v tom fore a neni s nim ziadny problem To ze sa php venujem kratko priznavam a tym ak sa mu teda vobec venujes si ma trosku urazil PS: Precital som PHP pro uplne zaciatocniky 2.vydanie a kamos mi poradil ze nech sa ucim z uz hotovych veci ze tam sa da vela naucit a poskytol mi jeho administraciu noviniek a z toho som niektore veci prebral A ten kamos ma celkom dobre referencie Viem ze robim este vela chyb ale tento cely kod pochadza s mojej hlavy, logiku to ma len prakticky to nejde tak ako by som si to predstavoval |
| |
   |
 |
chiwo
 Užívateľ
 Založený: 14.06.2007 Príspevky: 72
 | Zaslal: Ne 06.01.08 23:19 |   |
ps: vlakno keby som to nepisal ja tak tam nemas take jebnute nazvy premennych  |
| |
   |
 |
chiwo
 Užívateľ
 Založený: 14.06.2007 Príspevky: 72
 |
a este to potrebujem usporiadat ale neviem ako Aby malo aj nacitane hodnoty ktore potrebuje pre to addvote a zaroven nemoze byt to addvote v tom formulari anketovom |
| |
   |
 |
kmsa
 Užívateľ
 Založený: 26.07.2006 Príspevky: 1383 Bydlisko: Slovakia-Košice
 |
mne to skor pripada akoby ti kamos poskitol svoj kod a nezeby si sa z neho ucil ale robys asi ctrl + c a ctrl + v
aspon ja som to tak tiez dakedy robyl ale od kedy ma to nadchlo poriadne a chcel som sam badat kde ma chyby a ak daco nejde tak kukem do knihy, aj tebe by som poradil nieco lepsie ako tamto co si ty precital nieco co ma okolo 700 a viac stran jedna dobre rady su v nich a aj vacsinou obsirny rozpis co co znamena a jak to funguje
ja mam php5, mysql a apache vytvarame vebove aplikacie a vela som z tej knihy pochitil |
_________________ CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých | |
    |
 |
chiwo
 Užívateľ
 Založený: 14.06.2007 Príspevky: 72
 | Zaslal: Po 07.01.08 10:37 |   |
| kmsa napísal: | mne to skor pripada akoby ti kamos poskitol svoj kod a nezeby si sa z neho ucil ale robys asi ctrl + c a ctrl + v
aspon ja som to tak tiez dakedy robyl ale od kedy ma to nadchlo poriadne a chcel som sam badat kde ma chyby a ak daco nejde tak kukem do knihy, aj tebe by som poradil nieco lepsie ako tamto co si ty precital nieco co ma okolo 700 a viac stran jedna dobre rady su v nich a aj vacsinou obsirny rozpis co co znamena a jak to funguje
ja mam php5, mysql a apache vytvarame vebove aplikacie a vela som z tej knihy pochitil |
uz mi to funguje chybysom vychytal uz len potrebujem radu aku to zaokruhlim na cele cisla po deleni A nad kupou takej knihy uvazujem len momentalne su neni na nu financie A mas pravdu niektore prikazy som skopiroval ale chapem o co v nich aspon zhruba ide a doplnam to vlastnou logikou  |
| |
   |
 |
martin90
 Užívateľ
 Založený: 23.01.2007 Príspevky: 242
 | Zaslal: Po 07.01.08 11:16 |   |
heh ja som sa učil z knihy za 300 SK a myslím že PHP mi ide v pohode.. stačí to pochopiť a je to. PHP je jednoduchý jazyk.. a ak budeš potrebovať rozpis funkcie a jej účel stačí ísť na www.php.net ... |
| |
     |
 |
kmsa
 Užívateľ
 Založený: 26.07.2006 Príspevky: 1383 Bydlisko: Slovakia-Košice
 | Zaslal: Po 07.01.08 11:17 |   |
jj aj ja som to presne robyl tak
ja som mal jedno stastie ze ja som to mal od paradneho profika myslim ze mal nieco spolocne z zoznam.sk ale bola to iba administrativna cast tak som musel pohnut rozumom a robyt  |
_________________ CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých | |
    |
 |
chiwo
 Užívateľ
 Založený: 14.06.2007 Príspevky: 72
 | Zaslal: Po 07.01.08 12:26 |   |
| kmsa napísal: | jj aj ja som to presne robyl tak
ja som mal jedno stastie ze ja som to mal od paradneho profika myslim ze mal nieco spolocne z zoznam.sk ale bola to iba administrativna cast tak som musel pohnut rozumom a robyt  |
pls teraz sa tu nebavte o tom kto sa ako ucil a ako ste dokonali (to vie kazdi ze ste dokonali) len mi pls poradte prikaz na zaokruhlovanie na cele cisla Nasiel som prikaz printf(„%d”, 1,23456) ale to nebude asi zaokruhlovat a neviem ci je to to prave co hladam Len neviem ci exsituje nieco na normal zaokruhlovanie alebo ci si to mam sam nakodovat |
| |
   |
 |
martin90
 Užívateľ
 Založený: 23.01.2007 Príspevky: 242
 | Zaslal: Po 07.01.08 12:51 |   |
nie nie sme dokonalí (to neni nikto) ..
s5 k téme..
nečo som skúsil len tak zhlavy vyprdnúť:
je to len zaokrúhlovanie na jednotky
| kód: | $delenec= 5;
$delitel= 2;
$vysledok= $delenec / $delitel;
$cislo=explode('.',$vysledok);
if($cislo[1]>=5) $cislo[0]++;
$zaokruhlenec= $cislo[0];
|
nw či to pôjde ale skús  |
| |
     |
 |
stenley
 Moderátor
 Založený: 27.07.2007 Príspevky: 3776 Bydlisko: Bratislava Vek: 27
 | Zaslal: Po 07.01.08 13:24 |   |
ako to chces zaokruhlovat, hore, dole ci celociselne? pozri si ceil, floor, round a pod funkcie... |
_________________ Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB | |
    |
 |
martin90
 Užívateľ
 Založený: 23.01.2007 Príspevky: 242
 | Zaslal: Po 07.01.08 13:54 |   |
aj som si myslel že na to sú funkcie  |
| |
     |
 |
vl4kn0
 Užívateľ
 Založený: 22.11.2007 Príspevky: 254 Bydlisko: 127.0.0.1
 | Zaslal: Po 07.01.08 14:26 |   |
na zaokruhlenie je krasna funkcia round ako uz pisal stenley
a zaokruhlis to takto. mas v premennej $var hodnotu datoveho typu float nap 3,14
potom staci dat:
|
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... | |
     |
 |
|