[ balkan7 @ 03.12.2006. 01:32 ] @
| pozdrav svima.
imam jedan mali problem sa checkbox, i pozivanje sliku, kod je:
Code: $novo = $_POST[novo];
$q1 = "insert into catalog set Novo = '$novo' ";
<tr>
<td align=right>Novo ?:</td>
<td><input type="checkbox" name="novo" value="1" /></td>
</tr>
sta znaci da u mysql dobijem 1, e sada treba mi kod za ako value=1 da poziva sliku. |
[ Nemanja Avramović @ 03.12.2006. 10:34 ] @
Jesi ti čuo za IF?
Code: if ($novo == 1) { echo "<img src=\"blabla\" />"; }
[ Jezdimir Lončar @ 03.12.2006. 11:00 ] @
Pa da...
Ili if ili neka druga petlja...
Recimo, switch ?
Code:
switch($_POST['novo']) {
case 1:
echo "<img src='path/to/img.jpg' alt='[ Novo ]' />";
break;
default:
echo "";
break;
}
Control Structures
[ balkan7 @ 03.12.2006. 13:23 ] @
hvala ti pomogao si mi sa petljom IF,
e samo jos ovo kako mogu nakon mjesec dana da slika Novo je snema sa produktima?
[ Jezdimir Lončar @ 03.12.2006. 14:22 ] @
Nisam te baš najbolje shvatio, ali za to bi morao da napraviš novo polje u MySQL bazi gdje bi bilježio datum unosa, i posle uzmeš iz baze vrijednost tog polja, dodaš 30 ako se poklapa sa današnjim danom - updateuješ i stavljaš novo na 0 ako ne, ništa...
[ balkan7 @ 03.12.2006. 15:10 ] @
e to je malo teze za mene po sto sam pocetnik, ako imas vremena da mi to objasnis sa kodovima ?
[ Jezdimir Lončar @ 03.12.2006. 15:38 ] @
Pa sad je tu bila tema nesto sa time(); funkcijom...
A sad tesko da bih imao toliko vremena...
Evo ti na brzaka SQL:
Code: datum VARCHAR(100) NOT NULL
E sad, kad unosis:
Code: $sql = "INSERT INTO tabela (datum) VALUES(".time().")";
Eto, tako nesto bi to bilo...
Sad vise ne znam...
Poz...
Date / Time Functions
[ balkan7 @ 04.12.2006. 00:29 ] @
hvala ti, ali kako cu da to povezem sa slikom, da ona nubude nakon mjesec dana ili sl...
[ Jezdimir Lončar @ 04.12.2006. 08:05 ] @
If petljom provjeriš da li je prošlo 30 dana, ako jeste, stavi ( Update tabela set novo=0 Where id=x ).
Ja sad pišem sa tel.-a ...
Tako da ništa od koda...
[ Mr. Jack @ 04.12.2006. 10:57 ] @
> If petljom provjeriš da li je prošlo 30 dana, ako jeste, stavi (
> Update tabela set novo=0 Where id=x ).
> Ja sad pišem sa tel.-a ...
> Tako da ništa od koda...
a može i ovako
Code:
UPDATE tabela
SET novo=0
WHERE DATEDIFF(CURDATE(),datum)>'30'";
gde je datum kolona u bazi!
[ Jezdimir Lončar @ 04.12.2006. 11:16 ] @
Lakši ti je Mr. Jack -ov način.
Naravno koristi njega ako radiš sa Datediff.
Ako ne koristi ovaj moj.
[ Zmaj @ 04.12.2006. 11:22 ] @
IF nije petla, IF, SWITCH su komandeza kotrolu toka programa, FOREACH, FOR, WHILE, WHILE DO... su petlje, tj. komande kojima se neki deo koda izvrsava iterativno. Ovo pisem za to sto sis se izjasnio kao pocetnik, pa brkas pojmove.
[ balkan7 @ 04.12.2006. 16:00 ] @
ok ovako sam uradio ja,
Code: <?php if($a1[Novo] > '30') {
$q2 = "update bsoft_catalog set Novo = '0' WHERE DATEDIFF(CURDATE(),Datum)>'30'";
mysql_query($q2) or die(mysql_error());
}
?>
a datum u bazu je:
Code: Datum VARCHAR(100) NOT NULL
ali ne znam dal ce ovo da radi, ili mozda ce da prikazuje 0 ?
[ Mr. Jack @ 04.12.2006. 20:11 ] @
šta je a1[novo]? pojasni malo.
> a datum u bazu je:
> Code: Datum VARCHAR(100) NOT NULL
da bi radio onaj upit datum mora biti tipa DATE ili DATETIME
[ balkan7 @ 04.12.2006. 21:57 ] @
Code: <?php
$q1 = "select * from bsoft_catalog Novo = Novo";
$r1 = mysql_query($q1) or die(mysql_error());
$a1 = mysql_fetch_array($r1);
if($a1[Novo] > '30') {
$q2 = "update bsoft_catalog set Novo = '0' WHERE DATEDIFF(CURDATE(),Datum)>'30'";
mysql_query($q2) or die(mysql_error());
<? }
[ Jezdimir Lončar @ 04.12.2006. 22:07 ] @
U if-u ne može $a1[Novo] da bude 30! $a1[Datum] ok ali Novo je 1 (jeste) ili 0 (nije).
@offtopic:
moja greška ono za if... Mada sam ja mislio da znam "malo" više od početnika...
[ balkan7 @ 04.12.2006. 22:46 ] @
ok sve je to uredu, ali eto ne znam kako mogu to povezati slikom sa datumom sa kodovima, ako neko zna neka pomogne.
a za value ako je 1 onda prikazuje slika, a za 0 nisam postavio po sto ce da mi prikaze 0 na index, zato nisam nista postavio i kad uradi query ako je checked ona stavlja 1 ako nije onda nista nestavlja u bazi.
hvala
[ Mr. Jack @ 05.12.2006. 08:51 ] @
koliko sam skontao ovde prvi query čita sve novo iz baze, a drugi uklanja atribut novo sa redova starijih od 30 dana.
imaš par grešaka u svom kodu:
umesto
> $q1 = "select * from bsoft_catalog Novo = Novo";
treba
Code:
$q1="SELECT * FROM bsoft_catalog WHERE Novo=1";
i izbaci if pošto sama baza ispituje da li je red stariji od 20 dana.
Pokušaj da malo bolje objasniš problem pošto neke tvoje poruke uopšte ne razumem! ;)
[ balkan7 @ 11.12.2006. 23:25 ] @
ok e ovako da objasnim neke stvari iako malo kasnim :)
Code:
CREATE TABLE `bsoft_catalog` (
`ID` int(10) NOT NULL auto_increment,
`Ime` varchar(255) NOT NULL default '',
`Opis` text NOT NULL,
`Cena` float(10,2) NOT NULL default '0.00',
`Image` text NOT NULL,
`Kategorija` int(10) NOT NULL default '0',
`Cd` int(10) NOT NULL default '0',
`Novo` varchar(50) NOT NULL default '',
`Datum` date NOT NULL default '0000-00-00',
PRIMARY KEY (`ID`),
UNIQUE KEY `Ime` (`Ime`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;
e sada kako cu da kazem php nakon 30 dana da u Novo update nista, po sto ako update 0 onda ce da mi prkaze 0 na index-a.
evo kod za prikaz na sliku novo:
Code:
<? if ($a1[Novo] == 1) {
echo "<img src=\"images/novo.gif\" />";
} ?>
[ Mr. Jack @ 12.12.2006. 08:16 ] @
Kako će da ti ispiše 0 na indexu? Ja ne vidim kod koji ispisuje
$a1[novo].
Još jedna stvar ti $a1[novo] porediš sa 1, a kolona novo u bazi ti je tipa VARCHAR, znači trebalo bi da porediš sa karakterom '1' ili da promeniš tip kolone u TINYINT.
[ balkan7 @ 12.12.2006. 21:26 ] @
napisao sam kod za a1[Novo], a moze i 0 to sam sredio, sada mi treba kako cu sa strukturom If ili neka druga funkcija reci php da nakon 30 dana u Novo update 0 ?
a ovo je prosli post od novo, ali ovo nece da radi:
Code:
<?php
$q1 = "select * from bsoft_catalog Novo = 1";
$r1 = mysql_query($q1) or die(mysql_error());
$a1 = mysql_fetch_array($r1);
if($a1[Novo] > '30') {
$q2 = "update bsoft_catalog set Novo = '0' WHERE DATEDIFF(CURDATE(),Datum)>'30'";
mysql_query($q2) or die(mysql_error());
<?
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|