PHP skript na hlasování

Pokec o čemkoliv ostatním
Message
Autor
Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: PHP a SQL

#21 Příspěvekod Mysteria » 21 zář 2012, 19:52

Uděláš selekt, který ti zjistí, jestli daný nick v databázi je. Pokud ne, tak ho vytvoříš, to už asi máš.
Pokud tam je, tak vyselektuje aktuální počet hlasů. A pak pomocí příkazu UPDATE přepíšeš počet hlasů.

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#22 Příspěvekod zdenda204 » 21 zář 2012, 20:02

no....Tak nějak bych z toho chápal že někam něco přidám :D
Zkusím si s tím hrát a popřípadě to sem postnu na opravu :-)

Edit: Je tu někde chyba ?
Spoiler: zobrazit

Kód: Vybrat vše

<?php
header("Content-Type: text/html; charset=windows-1250");
?>
<br></br><br>
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs">
   <head>
      <meta name="author" content="zdenda204" />
      <title>CzCrafter - Soutěž</title>
   </head>
   <body>
   <center><img src="http://www.cz-crafter.mzf.cz/wp-content/uploads/2012/07/logo-CzCrafter.png" align="center"><br><h2><font color="red" face="Arial">Hlasování</h2></center></font>
<style>
 body {
 background-image: URL('pozadi.jpg');
 background-attachment: fixed;
 color: white; } /* bílý text */
 </style>
 <center><br></br>
 <font color="white" face="Arial">
      <form method="post">
         <label for="nick"><b>Nick ve hře:</b></label>
         <input type="text" name="nick">
         <input type="submit" name="submit">
      </form></font>
      <br></br>
        <h3><font color="red" face="Arial">Postup</h3><font color="white">
      <li><b>1.</b>Do kolonky napiš svoji přezdívku ve hře.</li>
      <li><b>2.</b>Klikni na <b>Odeslat</b>.</li>
      <li><b>3.</b>Vyplň kód a odešli.</li>
      <li><b>4.</b>Hlasuj každé dvě hodiny a dostaneš krásné odměny!</li>
   <endora>
   </body>

   <br></br><br></br>
<b><font color="red">© 2012 Cz-Crafter</b><i> (Pro server Cz-Crafter sepsal zdenda204 a designoval Ollie987)</i></font>
</center>
</html>

<?php
$con = mysql_connect("honey.fakaheda.eu","gs_37083_1","*****");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("gs_37083_1", $con);
$nick=$_POST['nick'];
$jevdb=mysql_query("SELECT nick FROM czechcraft WHERE nick='$nick'");
if(mysql_num_rows($jevdb)==0){
    mysql_query("INSERT INTO czechcraft (id,nick,hlas) VALUES ('','$nick','1')");
}
else{
    $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick='$nick'");
   $hlasu++;
    mysql_query("UPDATE czechcraft SET hlas='$hlasu'");
}

mysql_close($con)
?>

<?php
//   $nick = $_POST[nick];
//   if(isset($_POST[submit])) {
//      header("HTTP/1.1 301 Moved Permanently");
//      header("Location: http://www.czech-craft.eu/vote.php?id=1539&user=$nick");
//      header("Connection: close");
//   }
?>
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

Uživatelský avatar
Sejsel
Příspěvky: 4131
Registrován: 19 čer 2011, 09:43
Reputation: 0
Bydliště: /home/sejsel/
Kontaktovat uživatele:

Re: PHP a SQL

#23 Příspěvekod Sejsel » 22 zář 2012, 18:46

Mystíku, nemohl by ses mi podívat na tohle?

Kód: Vybrat vše

$sql = mysql_query("SELECT * FROM serverId WHERE serverId='".$serverId."'") or die(mysql_error());
$data = mysql_fetch_array($sql) or die(mysql_error());
//KONTROLA USER + SERVERID
if(empty($data["serverId"]) || empty($data["user"])) {
die("NO");
}
if($user == $data["user"]) {
mysql_query("DELETE FROM serverId WHERE serverId='".$serverId."'") or die(mysql_error());
die("YES");
}
echo("NO");
?>


Jak mám udělat, aby to vyhodilo NO, pokud ten select nic nevyplivne? Protože se to jaksi zastaví a nevypíše to nic.
01101110011101010110001001110111

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: PHP a SQL

#24 Příspěvekod Mysteria » 23 zář 2012, 11:37

Kód: Vybrat vše

$Dotaz = MySQL_Query("SELECT * FROM serverId WHERE serverId=$serverId;");
If (MySQL_Num_Rows($Dotaz) == 0) { Echo "Neexistuje žádný záznam, který by odpovídal danému dotazu."; } Else { Echo "Vypisuji nalezené záznamy:"; } 


Jenom taková technická poznámka, pokud máš SELECT, jak máš ty

Kód: Vybrat vše

("SELECT * FROM serverId WHERE serverId='".$serverId."'") 
tak není potřeba tam tu proměnou štelovat takhle složitě, ale stačí jenom takhle

Kód: Vybrat vše

("SELECT * FROM serverId WHERE serverId=$serverId;") 
a ušetříš si několik teček a kombinaci uvozovek a apostrofů, ve který se pak můžeš ztratit.

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#25 Příspěvekod zdenda204 » 23 zář 2012, 11:46

A reseni toho meho by nebylo? :-)
V ty casti else tak to misto +1 kazdymu nastavi sloupec "hlas" na 0
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: PHP a SQL

#26 Příspěvekod Mysteria » 23 zář 2012, 12:12

Zkus to takhle

Kód: Vybrat vše

    $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick=$nick";);
   $hlasu = $hlasu + 1;
    mysql_query("UPDATE czechcraft SET hlas=$hlasu";); 


EDIT: Víš, že ten příkaz UPDATE, jak máš danej ty změní ten počet hlasů úplně u všech záznamů v tabulce?

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#27 Příspěvekod zdenda204 » 23 zář 2012, 12:28

Jo aha ted na to koukam ze to je na cely sloupek? Co tedy musim pridat jen pro jeden radek ?
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

Uživatelský avatar
Mysteria
Příspěvky: 9122
Registrován: 26 pro 2009, 15:40
Reputation: 7
Bydliště: Česká republika
Kontaktovat uživatele:

Re: PHP a SQL

#28 Příspěvekod Mysteria » 23 zář 2012, 13:14

WHERE nick = $nick

Uživatelský avatar
zdenda204
Příspěvky: 3617
Věk: 35
Registrován: 23 kvě 2012, 21:38
Reputation: 0

Re: PHP a SQL

#29 Příspěvekod zdenda204 » 23 zář 2012, 15:40

Tak stále to nejde....Teď už to vůbec neupravuje.
Ale občas když refreshnu stránku tam mi to do databáze zapíše novej údaj ikdyž by to nmělo protože zápis je pod podmínkou If.

Spoiler: zobrazit

Kód: Vybrat vše

<?php
$con = mysql_connect("honey.fakaheda.eu","gs_37083_1","bf57a742");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("gs_37083_1", $con);
$nick=$_POST['nick'];
$jevdb=mysql_query("SELECT nick FROM czechcraft WHERE nick='$nick'");
if(mysql_num_rows($jevdb)==0){
    mysql_query("INSERT INTO czechcraft (id,nick,hlas) VALUES ('','$nick','1')");
}
else{
    $hlasu=mysql_query("SELECT hlas FROM czechcraft WHERE nick=$nick");
   $hlasu = $hlasu + 1;
    mysql_query("UPDATE czechcraft WHERE $nick SET hlas=$hlasu");
}

mysql_close($con)
?>

V této části

Kód: Vybrat vše

"UPDATE czechcraft WHERE=$nick SET hlas=$hlasu"
Jsem to zkoušel i bez toho WHERE..
Přijímám zakázky na skripty/pluginy v PHP/Javě za malý poplatky! A kup mi sušenku :) Obrázek Obrázek
⇨Projekt Market⇦

vojtamaniak
Příspěvky: 3512
Věk: 25
Registrován: 18 úno 2012, 21:02
Reputation: 11

Re: PHP a SQL

#30 Příspěvekod vojtamaniak » 23 zář 2012, 16:33

Zkus to dát do apostrofů...

Kód: Vybrat vše

"UPDATE czechcraft WHERE='$nick' SET hlas='$hlasu'"


Zpět na „Off topic“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 17 hostů