Jump to content
Sign in to follow this  
cyberfly

Conditional Insert Dan Update

Recommended Posts

Gmbar 1- List peserta format Single

listad4.jpg

Gambar 2 - Masukkan markah untuk peserta

markahkv8.jpg

Gambar 3 - table markah dalam database

markahtablerk6.jpg

Problem aku camni.Seperti gmbar 1,byk peserta dalam senarai tersebut.Bila aku tekan link markah,akn direct ke page markah mcm dalam Gambar 2.

Sistem aku ni,pengguna perlu masukkan markah selepas habis setiap game.Maknanya selepas habis game pertama,aku perlu masukkan markah dlm game1,klik submit dan proceed untuk markah peserta lain.

Problem sekarang ialah camne aku nak masukkan markah untuk game ke 2 dan seterusnya?Idea aku bila tekan balik link markah tu,markah game1 yg aku masukkan tadi dah keluar dalm column game1.Cth mcm dalam gmbar 4.

Gambar 4 - Step masa nak masukkan markah game2

markah3cy2.jpg

Ni coding mengikut idea aku,sape2 tau tlg tambah ye

Untuk idMarkah,idPeserta,idPertandingan,assumekan aku dah tau dari mana nak dapat.

Problem sekarang ialah step untuk masukkan markah kedalam game1,game2 dan selanjuntya berdasarkan situasi ini:

Situasi:

Dlm situasi sebenar,ramai pengguna akan memasukkan markah berdasarkan nama peserta.

Cth aku dah masukkan markah tuk game1 bagi noradilah dan aku tekan submit.

lepastu aku kena masukkan markah game1 untuk peserta lain dalam list seperti gambar1.

Bila semua peserta telah dimasukkan markah game1,aku akan klik balik link [markah] dan masukkan markah untuk game2 dan submit.

Markah untuk game1 yg telah dimasukkan perlulah display kat column Game1 seperti Gambar 4.

5.Proses ini akn berulang sehinggalah habis semua game.

<?php

$query="select * from markah where idPeserta='1' and idKejohanan='3'";
$doquery=mysql_query($query) or die(mysql_error());

$bilrow=mysql_num_rows($doquery);

if($bilrow<1)
{
$insert=mysql_query("INSERT INTO markah(idPeserta,idKejohana,game1) VALUES(1.3.$game1)");
}
else
{
$update=mysql_query("UPDATE markah SET game2=$game2");
{

?>

Edited by cyberfly

Share this post


Link to post
Share on other sites

1. Kat mane masalah ko sebenar?

2. Ape guna idMarkah dlm db ko?

3. "idKejohanan = 3" <- ni field "game3" ke?

4. Kemasukkan markah berturutan atau user bleh masukkan markah tanpa ikut turutan perlawanan?

Camnepun aku raspek sama ko sbb ade usaha utk bertanyakan soklan..

Utk meke2 yg membaca topik nih,contohilah kawan kite ni bile bertanye soklan.

Nanti aku tolong ko lagi..memandangkan ko ade usaha nk bertanya..aku berusaha utk menolong :D :D

Share this post


Link to post
Share on other sites

Aku cadangkan kau perbetulkan UPDATE statement kau. Kau punya update statement tiada penggunaan WHERE. Kalau macam ni mau satu table kena update.

Contoh, dengan anggapan idPeserta adalah Primary Key:

UPDATE markah SET game2=$game2 WHERE idPeserta=$idPeserta

EDIT: aku baru sedar yang aku tak jawab soalan kau:

Problem sekarang ialah camne aku nak masukkan markah untuk game ke 2 dan seterusnya?Idea aku bila tekan balik link markah tu,markah game1 yg aku masukkan tadi dah keluar dalm column game1.Cth mcm dalam gmbar 4.

Memandangkan yang idPeserta adalah unik, simpankan id ni setiap kali page load dalam hidden field. Lepas tu bila dah submit, berdasarkan idPeserta ni update value dalam database. Memulakan gunakan SELECT statement untuk dapatkan semua markah dan info berkait. Lepas tu UPDATE. Kalau malas, update semua markah sekali. Kalau rajin, buat checking sket ah.

Edited by SHiDi

Share this post


Link to post
Share on other sites

aku cadangkan guna UPDATE jer...cos bile nak masuk tuk game ke 2 senang skit...

then ko mesti set sql tuk game1,game2,... sebagai NULL...

Edited by starbery

Share this post


Link to post
Share on other sites

Problem sekarang ialah camne aku nak masukkan markah untuk game ke 2 dan seterusnya?Idea aku bila tekan balik link markah tu,markah game1 yg aku masukkan tadi dah keluar dalm column game1.Cth mcm dalam gmbar 4.

Ni problem sebenar aku.semalam aku tak reti nak terangkan so jadi panjang lebar.:P

Aku memerlukan pertolongan sesiapa yg mahir untuk buat coding bagi problem ni.

Aku dah try tapi tak berapa fhm jgk skill yg perlu digunakan tuk flow nih.

Pasal update dlm code tu,aku tunjuk cth idea aku je.

1. Kat mane masalah ko sebenar?

2. Ape guna idMarkah dlm db ko?

3. "idKejohanan = 3" <- ni field "game3" ke?

4. Kemasukkan markah berturutan atau user bleh masukkan markah tanpa ikut turutan perlawanan?

Camnepun aku raspek sama ko sbb ade usaha utk bertanyakan soklan..

Utk meke2 yg membaca topik nih,contohilah kawan kite ni bile bertanye soklan.

Nanti aku tolong ko lagi..memandangkan ko ade usaha nk bertanya..aku berusaha utk menolong :D :D

1.Aku dah jwb dlm quote aku.

2.idMarkah tu auto increment.

3.Yg tu saje je nak tnjuk idea aku tuk problem ni.

4.Dlm situasi sebenar,ramai pengguna akan memasukkan markah berdasarkan nama peserta.

Cth aku dah masukkan markah tuk game1 bagi noradilah dan aku tekan submit.

lepastu aku kena masukkan markah game1 untuk peserta lain dalam list seperti gambar1.

Bila semua peserta telah dimasukkan markah game1,aku akan klik balik link [markah] dan masukkan markah untuk game2 dan submit.

Markah untuk game1 yg telah dimasukkan perlulah display kat column Game1 seperti Gambar 4.

5.Proses ini akn berulang sehinggalah habis semua game.

@Shidi,blh ko tlg coding tak..aku tak fhm sgt maksud ko..

@Starbery,cadangan mu already covered a long time ago...kekekeke...

Share this post


Link to post
Share on other sites

Nope, tak boleh tolong coding. Sorry. Aku bagi logik dia, dengan anggapan yang sekarang user nak update markah:

1. Dapatkan semula markah yang sedia ada.

2. Gunakan hidden field (atau session, mana yang rasa sesuai) untuk simpan nilai yang unik, Primary Key.

3. Bila user dah isi markah dan submit, gunakan UPDATE statement.

4. Untuk Update gunakan WHERE clause dan gunakan Primary Key dalam WHERE clause ni.

Edited by SHiDi

Share this post


Link to post
Share on other sites

Nope, tak boleh tolong coding. Sorry. Aku bagi logik dia, dengan anggapan yang sekarang user nak update markah:

1. Dapatkan semula markah yang sedia ada.

2. Gunakan hidden field (atau session, mana yang rasa sesuai) untuk simpan nilai yang unik, Primary Key.

3. Bila user dah isi markah dan submit, gunakan UPDATE statement.

4. Untuk Update gunakan WHERE clause dan gunakan Primary Key dalam WHERE clause ni.

Shidi,ada tak coding untuk check column tu ada data atau tak?

sbb menurut idea asal aku:

bilrow=mysql_num_rows($query);  
if (bilrow>0)  
{
 UPDATE markah SET game2=
}
else
{
 INSERT INTO markah game1=
}

****Camne aku perlu ubah code ni untuk tau game2 telah disi markah,so markah yg disubmit selepas tu akn masuk ke game3?

Edited by cyberfly

Share this post


Link to post
Share on other sites

Aku cadangkan guna SELECT statement. Dan untuk PHP gunakan empty() dan list()

Share this post


Link to post
Share on other sites

Nope, tak boleh tolong coding. Sorry. Aku bagi logik dia, dengan anggapan yang sekarang user nak update markah:

1. Dapatkan semula markah yang sedia ada.

2. Gunakan hidden field (atau session, mana yang rasa sesuai) untuk simpan nilai yang unik, Primary Key.

3. Bila user dah isi markah dan submit, gunakan UPDATE statement.

4. Untuk Update gunakan WHERE clause dan gunakan Primary Key dalam WHERE clause ni.

ni la yg aku maksub kan...

Share this post


Link to post
Share on other sites

Aku cadangkan guna SELECT statement. Dan untuk PHP gunakan empty() dan list()

timakasih untuk empty() tu.

aku rasa aku dah fhm,nanti aku paste solution aku bila dah berjaya.

Share this post


Link to post
Share on other sites

untuk lebih secure, guna sprintf() untuk sql stmt

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));

Share this post


Link to post
Share on other sites

Merujuk kepada bazet, teknik tu juga dikenali sebagai, prepared statement B)

Edited by SHiDi

Share this post


Link to post
Share on other sites

Ni solution aku termasuk skali dengan array textfield dan array table ^_^

<?php

mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("bowling2") or die(mysql_error());

?>
<?php

$idPeserta = $_GET['idPeserta'];
$pertandingan = "select * from pertandingan where status='1'";
$qpertandingan = mysql_query($pertandingan) or die(mysql_error());
$dopertandingan = mysql_fetch_array($qpertandingan);
$idPertandingan = $dopertandingan['idPertandingan'];
if(isset($_POST['submit']))
{

$markah = "select * from markah where idPeserta='$idPeserta' and idPertandingan='$idPertandingan'";
$qmarkah = mysql_query($markah) or die(mysql_error());
$domarkah = mysql_fetch_array($qmarkah);
$idMarkah = $domarkah['idMarkah'];
$game2 = $domarkah['game2'];
$game3 = $domarkah['game3'];
$game4 = $domarkah['game4'];
$game5 = $domarkah['game5'];
$game6 = $domarkah['game6'];

$bilrow = mysql_num_rows($qmarkah);

$games1 = $_POST['game1'];
$games2 = $_POST['game2'];
$games3 = $_POST['game3'];
$games4 = $_POST['game4'];
$games5 = $_POST['game5'];
$games6 = $_POST['game6'];

if($bilrow!=0)
{
if( empty ($game2))
{$update = "UPDATE markah SET game2='$games2' WHERE idMarkah='$idMarkah'";
mysql_query($update) or die(mysql_error());
}
else if( empty ($game3))
{$update = "UPDATE markah SET game3='$games3' WHERE idMarkah='$idMarkah'";
mysql_query($update) or die(mysql_error());
}
else if( empty ($game4))
{$update = "UPDATE markah SET game4='$games4' WHERE idMarkah='$idMarkah'";
mysql_query($update) or die(mysql_error());
}
else if( empty ($game5))
{$update = "UPDATE markah SET game5='$games5' WHERE idMarkah='$idMarkah'";
mysql_query($update) or die(mysql_error());
}
else if( empty ($game6))
{$update = "UPDATE markah SET game6='$games6' WHERE idMarkah='$idMarkah'";
mysql_query($update) or die(mysql_error());
}
}
else
{
$insert = "INSERT INTO markah (idPeserta, idPertandingan, game1) VALUES ('$idPeserta', '$idPertandingan', '$games1')";
mysql_query($insert) or die(mysql_error());
}
}
?>
<!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"><!-- InstanceBegin template="Templates/markah.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Untitled Document</title>
<!-- InstanceEndEditable -->
<style type="text/css">
<!--
body {
    background-image: url(background.png);
}
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</style>
<link rel='stylesheet' type='text/css' href='menu_style.css'>
<!-- InstanceBeginEditable name="head" -->
<style type="text/css">
<!--
.style1 {font-size: 10px}
.style3 {font-size: 10px; color: #FFFFFF; }
.style5 {font-size: 10px; font-weight: bold; }
-->
</style><!-- InstanceEndEditable -->
</head>

<body>
<div align="center">
  <table width="969" height="1273" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td height="110" colspan="2" background="header.png">&nbsp;</td>
    </tr>
    <tr>
      <td height="31" colspan="2" background="headerline.jpg">&nbsp;</td>
    </tr>
    <tr>
      <td height="244" colspan="2" background="headerindex2.png">&nbsp;</td>
    </tr>
    <tr>
      <td width="154" height="600" valign="middle" bgcolor="#FFFFFF"><table width="152" border="0" cellspacing="0" cellpadding="1">
        <tr>
          <td height="50">&nbsp;</td>
        </tr>
        <tr>
          <td height="156">
          <div id='menu'>
 <ul>
  <li ><a href='addmark.php'>Senarai Peserta</a></li>
  <li ><a href='searchsingle.php'>+ Markah Single</a></li>
  <li ><a href='searchdouble.php'>+ Markah Double</a></li>
  <li ><a href='searchtrio.php'>+ Markah Trio</a></li>
  <li ><a href='search4group.php'>+ 4Berkumpulan</a></li>
  <li ><a href='menupengguna.php'>Menu Pengguna</a></li>
  <li ><a href='index.php'>Log Keluar</a></li>
 </ul>
</div>  
          
          
          </td>
        </tr>
        <tr>
          <td height="522"><p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p></td>
        </tr>
      </table></td>
      <td width="811" height="600" bgcolor="#FFFFFF"><!-- InstanceBeginEditable name="EditRegion3" -->
        
          <p align="center">&nbsp;</p>
          <div align="center">
            <table width="700" height="636" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#277BC0">
              <tr>
                <td><div align="center">
                  <table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
                      <tr>
                        <td background="tbleback.png"><span class="style3">KEMASUKAN MARKAH FORMAT SINGLE </span> </td>
                      </tr>
                  </table>
                  <p>&nbsp;</p>
                </div>
                  
                      <div align="center">
                        
                      
                      
                        <table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
                          <?php
                      $pla = "SELECT * FROM peserta, blok, jabatan WHERE idPeserta='".$_GET['idPeserta']."' AND blok.idBlok=peserta.idBlok AND jabatan.idJabatan=peserta.idJabatan";
                      //echo $pla;
                      $play = mysql_query($pla) or die (mysql_error());
                      $player = mysql_fetch_array($play);
                      ?>
                          
                          
                          <tr>
                            <td width="78"><span class="style5">ID</span><span class="style1">:<?php echo $player['idPeserta']; ?></td>
                            <td><span class="style5">Nama Peserta </span><span class="style1">:<?php echo $player['namaPeserta']; ?></span></td>
                            <td width="129"><span class="style5">Blok</span><span class="style1">:<?php echo $player['namaBlok']; ?> </span></td>
                            <td width="178"><span class="style5">Jabatan</span><span class="style1">:<?php echo $player['namaJabatan']; ?></span></td>
                          </tr>
                        </table>
                        <table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
                          <tr>
                            <td width="78" class="style1"></td>
                            <td class="style1"></td>
                            <td width="129" class="style1"></td>
                            <td width="178" class="style1"></td>
                          </tr>
                        </table>
                      </div>
                      <p align="center">&nbsp;</p>
                  <div align="center"><br />
                      <form id="form1" name="form1" method="post" action="">
                      <?php

                      $game[1] = "game1";
                      $game[2] = "game2";
                      $game[3] = "game3";
                      $game[4] = "game4";
                      $game[5] = "game5";
                      $game[6] = "game6";
  
                      $query="select * from pertandingan where status=1";
                      $doquery=mysql_query($query) or die(mysql_error());
                      $array = mysql_fetch_array($doquery);                     
                      $limit = $array['bilGame'];
  
                      for ( $x=1; $x<=$limit; $x++ ){ ?>
                        <table width="400" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
                          <tr>
                            <td width="161" class="style5"><div align="center">Game <?php echo $x; ?></div></td>
                            <td width="233"><label>
                              <div align="center">
                                <input type="text" name="<?php echo $game[$x]; ?>" />
                              </div>
                            </label></td>
                          </tr>
                        </table><?php } ?>
                        <p>&nbsp;</p>
                        <p>&nbsp;</p>
                        <p>&nbsp;</p>
                        <table width="150" border="0" align="center" cellpadding="0" cellspacing="0">
                          <tr>
                            <td><label>
                            <div align="center">
                              <input type="submit" name="submit" value="Submit" />
                            </div>
                            </label></td>
                            <td><label>
                            <div align="center">
                              <input type="reset" name="reset" value="Reset" />
                            </div>
                            </label></td>
                          </tr>
                        </table>
                        <p>&nbsp;</p>
                        <p>&nbsp;</p>
                        <p>&nbsp;</p>
                      </form>
                      </div>
                      <p align="center">&nbsp;</p>
                  <div align="center"></div>
                  <p align="center">&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p></td>
              </tr>
            </table>
          </div>
          <p>&nbsp;</p>
        
      <!-- InstanceEndEditable --></td>
    </tr>
    <tr>
      <td height="288" colspan="2" background="footer.png">&nbsp;</td>
    </tr>
  </table>
</div>
</body>
<!-- InstanceEnd --></html>

Ni screenshot :

berjayaml9.jpg

Perhatikan column untuk masukkan markah dah dynamic.

Dulu (gmbar mula2 skali) aku buat static je ada 6 column. :lol:

Edited by cyberfly

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...