PHP mysql select

Programovacie jazyky, rady, poradňa...
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

PHP mysql select

Príspevok od používateľa WebScript »

Dobrý deň,
chcel by som sa vás opýtať že či by mi nikdo nenapísal php script ktorý vypíše článok podla url.
Mam tabulku clanky a tam mam stĺpec id (atomaticky sa priraďuje id polda poradia článku v db) , potom stĺpec obsahclanku a posledný stĺpec nazovsuboru , a ja by som potreboval ak nikedo zadá url v tvare mojweb.sk/nieco.php?clanok=idclankunazobrazenie a skript potom vybere z db ten článok podla toho id čo tam zadal návštevník, chcem sa opýtať že akou funkciou môžem ošetriť to aby návštevník ak zadánamiesto čílsa d toho id janeviemco tak sa ten výber nevykoná?
Ďakujem za pomoc
//
Už som niečo spravil:

Kód: Vybrať všetko

<?php
$id = $_GET["clanok"];
require_once("mysql.php");
$sql = mysql_query("SELECT * FROM clanky WHERE id='$id'");

while($row = mysql_fetch_array($sql))
  {
  echo "<b>" . $row['nazovsuboru'] . "<b />";
  echo "<br />";
  echo $row['obsahsuboru'];
}

mysql_close($con);
?> 
Ale vypisujem mi to Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/www/webscript.biz/skuskawsbcmssmysql/zobraz.php on line 13
A ja neviem prečo, čo mám použiť namiesto mysql_close() ?
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP mysql select

Príspevok od používateľa audiotrack »

o to sa postará mysql. Ak vyberáš podla čísla a používateľ dá reťazec tak sa nič nevybere
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Re: PHP mysql select

Príspevok od používateľa WebScript »

nevedel by si mo to upraviť tak aby to fungovalo(ten skript, je hore v tom prvom príspevku, editol som ho)
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP mysql select

Príspevok od používateľa audiotrack »

ten riadok mysql_close($con) zmaž, alebo ukáž ako otváraš spojenie v mysql.php
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Re: PHP mysql select

Príspevok od používateľa WebScript »

tu je celý mysql.php :

Kód: Vybrať všetko

<?php  define("SERVER","mysql"); 
define("LOGIN","1976-wsbcms"); 
define("PASS","2009ftp"); 
define("DATABASE","1976-wsbcms"); 
$dbc = mysql_connect(SERVER,LOGIN,PASS) or die('Pripojenie k serveru zlyhalo!'); 
mysql_select_db(DATABASE) or die('Nepodarilo sa oznacit databazovu tabulku!'); ?> 
//autoeditácia príspevku (10 Mar 2010, 9:36)
Ďakujem, už to funguje, blbo som pisal premennu. Čo mám do toho selectu napísať abyiba mohol zadať to číslo, ak ho nezadá taksa nevykoná select?

//autoeditácia príspevku (10 Mar 2010, 9:56)
už to mám skoro hotové, teraz mi píše Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/webscript.biz/skuskawsbcmssmysql/zobrazmenu.php on line 9
Tu je ten skript:

Kód: Vybrať všetko

<?php
require_once("mysql.php");
$sql = mysql_query("SELECT * FROM clanky");

while($row = mysql_fetch_array($sql))
  {
$config = mysql_query("SELECT * FROM config");

while($config = mysql_fetch_array($config))
  {
  echo "<a href='/zobraz.php?clanok=" . $row['id'] . "'>" . $row['nazovclanku'] . "</a><br>";
}

mysql_close($dbc);
}
?> 
Vedel by mi niekdo s tým pomôcť?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP mysql select

Príspevok od používateľa audiotrack »

$config = mysql_fetch_array($config)
prepisuješ si premennú config. Po prvom prejdení cyklom v nej už nie je mysql result, ale pole a teda ti to pri druhej iterácii hodí chybu
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: PHP mysql select

Príspevok od používateľa 94jakub »

Zdravím.
Chcem sa opýtať ako mám spraviť jeden select.
Mám:

Kód: Vybrať všetko

mysql_query("SELECT * FROM `tabulka` WHERE datum='".datumdb(Date("d.m.Y"))."' AND potvrd='".admin()."'",$pripsql)
Ide o to, že ak je užívateľ admin tak mu vypíše všetky položky z db. Ak je to obyčajný užívateľ tak len tie, ktoré boli potvrdené adminom.
Hodnota potvrd je buď 1 alebo 0. (podľa potvrdenia)
No neviem ako spraviť to, že adminovi sa vypíšu všetky položky.
Tu je ešte kód funkcie admin:

Kód: Vybrať všetko

function admin()
    {
        $pripsql=mysql_connect(HOST,USER,PASS);
        $db=mysql_select_db(DATAB);
        $admin=mysql_query("SELECT * FROM `uzivatelia` WHERE id='".$_SESSION["id"]."'");
        $adminm=mysql_fetch_array($admin);
        if (mysql_num_rows($admin)>1) {echo "Viac ako jeden riadok!";}
        if ($adminm["admin"]==1) {
            $admin="IS NOT NULL";
            return $admin;
        }
            else {
                $admin='1';
                return $admin;
            }
    }
Ten IS NOT NULL nefunguje. Asi by tam malo byť len potvrd is not null bez =, no niesom si istý.
Ďakujem za všetky rady.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP mysql select

Príspevok od používateľa audiotrack »

odsekný to od toho andu:

Kód: Vybrať všetko

mysql_query("SELECT * FROM `tabulka` WHERE datum='".datumdb(Date("d.m.Y"))."' ".admin(),$pripsql)
a v tej funkcii ak je admin tak vráť prázdny reťazec, teda return ''
a ak nie je, tak vráť "AND potvrd='1'";
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: PHP mysql select

Príspevok od používateľa 94jakub »

Ďakujem funguje. K+
A ešte sa chcem spýtať na ten is not null.
Ten dáva true keď je tam nula alebo vôbec nič?
Napísať odpoveď