พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
Javascript development / รบกวนดูโค้ดให้ทีครับรบกวนแก้โค้ดให้ทีครับ
รุต
รุต
Wed 1 Mar 2006 16:06:37

รบกวนดูโค้ดให้ทีครับรบกวนแก้โค้ดให้ทีครับ
คือผมได้ทำการสร้างfileมา2fileคือTestblank.phpและTestblank2.php
ในTestblank.phpจะมีปุ่มอยู่3ปุ่ม 
ปุ่มview  พอกดปุ่มนี้อยากให้มันเปิดหน้าTestblank2.phpแบบ_blankและให้ช่องรับข้อมูลในTestblank2.php  ตัวแปรที่ใช้$textfield=view  ให้ช่องรับข้อมูล=คำว่าview
ปุ่มตกลง  พอกดปุ่มนี้อยากให้มันเปิดหน้าTestblank2.phpแบบ_blankและให้ช่องรับข้อมูลในTestblank2.php  ตัวแปรที่ใช้$textfield=ตกลง  ให้ช่องรับข้อมูล=คำว่าตกลง
ปุ่มadd  พอกดปุ่มนี้อยากให้มันเปิดหน้าTestblank2.phpแบบ_blankและให้ช่องรับข้อมูลในTestblank2.php  ตัวแปรที่ใช้$textfield=""  ให้ช่องรับข้อมูล=ค่าว่าง
รบกวนแก้โค้ดด้านล่างนี้ให้ทีครับ ไม่รู้ว่าผิดตรงไหนครับ 
ขอเอาไปศึกษา
โค้ด Testblank.php
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<?php
 if($Submit2=="view"){
      $a="Testblank2.php";
   $b="_blank";
   $textfield="view";
   echo "view";
 }
   else if($Submit3=="ตกลง"){
      $a="Testblank2.php";
   $b="_blank";
   $textfield="ตกลง";
   echo "ตกลง";
 }
   else if($Submit=="add"){
     $a="Testblank2.php";
   $b="_blank";
   $textfield="";
          echo "add";
  }
  ?>
<body>
<form name="form1" method="post" action="">
<table width="12%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td>
        <input type="submit" name="Submit" value="add">
      </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>
        <input type="submit" name="Submit2" value="view">
      </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>
        <input type="submit" name="Submit3" value="ตกลง">
      </td>
  </tr>
</table>
</form>
</body>
</html>
----------------------------------------------------------------------------------------------------
ในTestblank2.phpจะมีช่องกรอกข้อมูลอยู่1ช่อง
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>

<body>
<form name="form1" method="post" action="">
  <input name="textfield" type="text" value="test">
</form>
</body>
</html>

ขอบคุณมากครับ

Administrator
Wed 1 Mar 2006 19:00:15
ลองแบบนี้ดูครับ
test.php
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body>
<form name="form1" method="post" action="test2.php" target="_blank">
<input type="hidden" name="text" value="">
<table width="12%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td>
        <input type="submit" value="add" onclick="this.form.text.value='';">
      </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>
        <input type="submit" value="view" onclick="this.form.text.value='view';">
      </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>
        <input type="submit" value="ตกลง" onclick="this.form.text.value='ตกลง';">
      </td>
  </tr>
</table>
</form>
</body>
</html>

test2.php
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body>
<form name="form1" method="post" action="">
  <input name="textfield" type="text" value="<? echo (($_POST["text"] != NULL)?$_POST["text"]:""); ?>">
</form>
</body>
</html>
รุต
รุต
Thu 2 Mar 2006 16:41:30

ขอบคุณมากครับที่ตอบคำถาม  คือต้องขอโทษด้วยครับที่ถามผิดไป คือ  ผมได้ทำเพจtest.phpและเพจtest2.php
เพจtest.phpจะประกอบด้วยช่องรับข้อมูล3ช่อง(สำหรับคีข้อมูล) ซึ่งใช้ตัวแปล$text1,$text2,$text3และมีปุ่ม
4ปุ่ม
            ถ้ากด ปุ่มaddเมื่อกดแล้วให้ลบเฉพาะช่องtext1   
            ถ้ากด ปุ่มviewให้เปิดหน้าtest2.php แล้วให้ข้อมูลที่คีในเพจtest.phpไปโชแทนที่ตัวแปรในตารางที่กำหนดครับ
            ถ้ากด ปุ่ม ตกลง ให้ส่งmail
เพจtest2.php ประกอบไปด้วยตารางโชข้อมูลที่ส่งมาจากเพจtest.php และมีปุ่ม 2ปุ่ม  มีปุ่มaddเพื่อแก้ไขข้อมูล  พอกดปุ่มaddให้
ข้อมูลทั้งหมดที่โชในตารางในเพจtest2.phpกลับไปโชในในช่องคีข้อมูลเพื่อแก้ไข
รบกวนขอโค้ดตัวอย่าง เพื่อไปศึกษาด้วยครับ(ผมอาจจะคิดวิธีการทำงานของโปรแกรม มะดี รบกวนช่วยแนะนำเพิ่มการทำงานด้วยนะครับ)

test.php

<form name="form1" method="post" action="">
  <input name="text1" type="text" id="text1" value="test1">
  <input type="submit" name="Submit" value="add">
  <br>
  <br>
  <input name="text2" type="text" id="text2" value="test2">
  <br>
  <br>
  <input name="text3" type="text" id="text3" value="test3">
  <br>
  <br>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>

test2.php

<table width="16%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="46%">ตัวแปรที่1</td>
    <td width="54%">$text1</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>ตัวแปรที่2</td>
    <td>$text2</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>ตัวแปลที่3</td>
    <td>$text3</td>
  </tr>
</table>
<br>
<form name="form1" method="post" action="">
  <input type="submit" name="Submit" value="add">
  &nbsp;
  <input type="submit" name="Submit2" value="ตกลง">
</form>

Administrator
Fri 3 Mar 2006 00:06:08
test.php

<form name="form1" method="post" action="">
  <input name="text1" type="text" id="text1" value="test1">
  <input type="submit" name="Submit" value="add" onclick="this.form.text1.value='';">
  <br>
  <br>
  <input name="text2" type="text" id="text2" value="test2">
  <br>
  <br>
  <input name="text3" type="text" id="text3" value="test3">
  <br>
  <br>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value, 'newwin', 'width=400,height=260,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>


test2.php

<table width="16%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="46%">ตัวแปรที่1</td>
    <td width="54%"><span id="textval1"></span></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>ตัวแปรที่2</td>
    <td><span id="textval2"></span></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>ตัวแปลที่3</td>
    <td><span id="textval3"></span></td>
  </tr>
</table>
<br>
<form name="form1" method="post" action="">
  <input type="submit" name="Submit" value="add" onclick="window.close(); return false;">
  &nbsp;
  <input type="submit" name="Submit2" value="ตกลง">
</form>
<script language="javascript" type="text/javascript">
function PageQuery(q) {
    if(q.length > 1) this.q = q.substring(1, q.length);
    else this.q = null;
    this.keyValuePairs = new Array();
    if(q) {
        for(var i=0; i < this.q.split("&").length; i++) {
            this.keyValuePairs[i] = this.q.split("&")[i];
        }
    }

    this.getKeyValuePairs = function() { return this.keyValuePairs; }

    this.getValue = function(s) {
        for(var j=0; j < this.keyValuePairs.length; j++) {
            if(this.keyValuePairs[j].split("=")[0] == s)
                return this.keyValuePairs[j].split("=")[1];
        }
        return false;
    }

    this.getParameters = function() {
        var a = new Array(this.getLength());
            for(var j=0; j < this.keyValuePairs.length; j++) {
                a[j] = this.keyValuePairs[j].split("=")[0];
            }
        return a;
    }

    this.getLength = function() { return this.keyValuePairs.length; }

}

function queryString(key){
    var page = new PageQuery(window.location.search);
    return unescape(page.getValue(key));
}

function getObj(id){
    return (document.all)?document.all[id]:document.getElementById(id);
}
getObj("textval1").innerHTML = queryString("text1");
getObj("textval2").innerHTML = queryString("text2");
getObj("textval3").innerHTML = queryString("text3");
</script>

ผมเข้าใจว่าคุณรุตคงต้องการใช้งานเป็น Javascript ทั้งหมดผมจึงไม่ใช้ Server-Side Script ช่วย ส่วนที่แจ้งว่า เมื่อกดปุ่ม View แล้วให้ Popup และแสดงผลผมได้ทำไว้ให้แล้ว ส่วนที่ว่าเมื่อกด add ใน test2.php แล้วให้ข้อมูลกลับมาอยู่ใน test.php นั้นเนื่องจากผมทำเป็น Popup จึงทำการปิด Popup ไปเท่านั้นเนื่องจากข้อมูลยังอยู่ใน test.php อยู่แล้วครับ
รุต
รุต
Fri 3 Mar 2006 09:43:57
ขอบคุณมากครับสำหรับโค้ด(ชอบมากๆครับ)  จะรบกวนสอบถามเพิ่มครับ  คือในเพจtest.phpผมมีปุ่มadd  ปุ่มนี้ค่อนข้างยากครับ(สำหรับผม)
คืออยากให้พอผมคีรหัสลงในช่อง$text1(ช่องแรก)  สมมุติ พอคีรหัส 111(มีในฐานข้อมูล)ลงในช่องพอกดปุ่มaddให้ คำว่า"ข้อมูลรายการที่111(มีในฐานข้อมูล)"ไปโชที่ช่อง$text5  ข้อมูลรหัส111 กับข้อมูลรายการที่111ผมใช้ฐานข้อมูลmysqlรหัส111=$ICode ข้อมูลรายการที่111=$PTest   แต่ถ้าคีรหัสผิด ให้มีข้อความบอกว่าไม่มีข้อมูลรายการในฐานข้อมูล  รบกวนขอโค้ดเพื่อไปศึกษาครับ
test.php----------------------------------------------------------------------------------------------------
<body>
<form name="form1" method="post" action="">
  <p>
    <input name="text1" type="text" id="text1" value="test1">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="test5">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>
</body>
ขอบคุณมากครับ
Administrator
Fri 3 Mar 2006 10:46:54
ถ้าแบบนี้คงใช้ Javascript ไม่ได้แล้วครับ การทำงานก็เพียงแต่ให้ submit form ไปที่ตัวมันเอง เช่น


ไฟล์ test.php
<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
    //...connect db
    $row = "";
    $res = mysql_query("SELECT PTest FROM tbl_name WHERE lCode='".$_POST["text"]."' LIMIT 1");
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    //... close connection
}
?>
<form name="form1" method="post" action="test.php">
  <p>
    <input name="text1" type="text" id="text1" value="<? echo (isset($row["PTest"])?$row["PTest"]:""); ?>">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="test5">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>

การทำงานก็เพียงให้ปุ่ม Submit ที่ใช้ในการค้นหานั้นทำการ Submit ส่งค่าไปยังตัวมันเอง เมื่อโหลดข้อมูลมาใหม่ในส่วนของ PHP จะทำการตรวจสอบว่ามีการส่งค่าแบบ HTTP POST มากับตัวแปร text1 หรือไม่ถ้ามีก็ให้นำข้อมูลในตัวแปรนั้นไปอ่านออกมาจากฐานข้อมูล ถ้ามี (mysql_num_rows() > 0) ก็ให้ fetch เพื่อนำมาแสดงผล ถ้าไม่มีก็ให้แทรก Javascript alert ลงไป ส่วน object text1 นั้นใน attribute value ก็ให้ทำการตรวจสอบว่ามีข้อมูลในตัวแปร $row หรือไม่ถ้ามีก็ให้แสดงผลถ้าไม่มีก็ให้ print ค่าว่าง
รุต
รุต
Fri 3 Mar 2006 15:24:41

รบกวนนิดนึงครับ  ผมได้เอาโค้ดด้านบนที่ให้มาไปลองทำดูแล้วนะครับมันขึ้นerrorตามโค้ดด้านล่างนี้นะครับ

ในตาราง TBPopup จะประกอบไปด้วย 2ฟิวด้านล่างนี้  และแต่ละฟิวจะมีข้อมูลตามด้านล่างนี้
ฟิว ICode มีข้อมูลคือ 111
ฟิวPTest มีข้อมูลคือ ข้อมูลรายการที่111
พอผม คี 111ลงในช่องรับข้อมูลของเพจ test.phpในช่อง$text1  และพอกดปุ่มaddให้ ข้อมูลรายการที่111ไปโชในช่อง$text5
ความต้องการตรงนี้คืออยากให้ฟิวICodeมันผูกกะฟิวPTest คือถ้าเลือกรหัสนี้ ถ้าตรงกันในฟิวก็ให้โชในช่อง$text5ขึ้นมา
แต่ถ้าคีรหัสแล้วพอกดปุ่มaddแล้วในฟิว ICodeมะมีรหัสที่คีก้ให้โชข้อความว่ามะมีรหัสนี้ในฐานข้อมูลครับ
รบกวนช่วยดูโค้ดให้ทีครับ

ผมใช้----------------

host=localhost
user=root999
pass=1234
ฐานข้อมูล testPopup
ตาราง TBPopup
ฟิวมี2ฟิว
    ICode 

    PTest

----------------------------------------

ผมเอาโค้ดด้านบนไปทำแล้วมันขึ้นแบบนี้อะครับ

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\test_blank\test.php on line 16

<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
    //...connect db

-----------------คอนเน็กฐานข้อมูล
$connection = mysql_connect('localhost','root999','1234') or die('Can not connect');
mysql_select_db('testPopup',$connection);

    $row = "";
    $res = mysql_query("SELECT testPopup FROM TBPopup WHERE lCode='".$_POST["text"]."' LIMIT 1");
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    //... close connection
}
?>
<form name="form1" method="post" action="test.php">
  <p>
    <input name="text1" type="text" id="text1" value="<? echo (isset($row["PTest"])?$row["PTest"]:""); ?>">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="test5">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td>

ในปุ่มView มีวิธีเขียนให้สั่นกว่านี้ไหมครับ  เพราะผมใช้ช่องรับข้อมูลกว่า200ช่องครับ  รบกวนด้วยนะครับ

<input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>

ขอบคุณมากครับ

Administrator
Fri 3 Mar 2006 22:26:42
โทษทีครับด้นสดผิดไปหน่อย

<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
    $connection = mysql_connect('localhost','root','') or die('Can not connect');
    mysql_select_db('testPopup',$connection);
    $row = "";
    $res = mysql_query("SELECT PTest FROM TBPopup WHERE lCode='".$_POST["text1"]."' LIMIT 1");
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    mysql_free_result($res);
    mysql_close($connection);
}
?>
<form name="form1" method="post" action="test.php">
  <p>
    <input name="text1" type="text" id="text1" value="">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="<? echo (isset($row["PTest"])?$row["PTest"]:""); ?>">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>

ส่วนจะเขียนให้สั้นๆก็ใช้ Server-Side Script ช่วยโดยการวนลูปเพื่อสร้างก็ได้ครับ
รุต
รุต
Mon 6 Mar 2006 10:42:32

ขอโทษครับผมได้นำโค้ดด้านบนนี้ที่ให้มาไปลองทำดู

พอผมใส่เลข 111 ในช่องtext1แล้วกดปุ่มaddมันก็ขึ้นerrorแบบด้านล่างนี้นะครับ

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\test_blank\test.php on line 15

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\appserv\www\test_blank\test.php on line 22

Administrator
Mon 6 Mar 2006 11:45:47
ทำการเปลี่ยน username และ password ในการ login และตรวจสอบชื่อ field ต่างๆด้วยครับ
รุต
รุต
Mon 6 Mar 2006 14:55:18

รบกวนนิดนึงครับ ผมลองเช็คแล้วครับ พอรันมันก็ยังขึ้นerrorตามด้านล่างนี้เหมือนเดิมครับ

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\รุตtest\test_blank\test.php on line 15

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\appserv\www\รุตtest\test_blank\test.php on line 22

test.php

<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
 $connection = mysql_connect('localhost','root999','1234') or die('Can not connect');
    mysql_select_db('testPopup',$connection);

    $row = "";
    $res = mysql_query("SELECT PTest FROM TBPopup WHERE lCode='".$_POST["text1"]."' LIMIT 1");
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    mysql_free_result($res);
    mysql_close($connection);
}
?>
<form name="form1" method="post" action="test.php">
  <p>
    <input name="text1" type="text" id="text1" value="">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="<? echo (isset($row["PTest"])?$row["PTest"]:""); ?>">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>

รบกวนด้วยนะครับ

Administrator
Mon 6 Mar 2006 20:13:04
$res = mysql_query("SELECT PTest FROM TBPopup WHERE lCode='".$_POST["text1"]."' LIMIT 1");
echo "SELECT PTest FROM TBPopup WHERE lCode='".$_POST["text1"]."' LIMIT 1";

ลองนำผลที่ได้จากการ echo ไปรันใน phpMyAdmin ดูครับผมไม่แน่ใจว่ามีชื่อ field ใดผิดหรือไม่ครับ เนื่องจากผมได้ทดลองโค๊ดนี้ตามโครงสร้างที่ให้มาสามารถใช้ไดปกติครับ
รุต
รุต
Tue 7 Mar 2006 13:34:13

ขอโทษนะครับ  ผมลองลงเพิ่มเวอชั่นของเว็บเซอเวอที่ใช้โดยลงใหม่เลยเป็นเวอชั่นappserv-win32-2.4.4a  แล้วมันก็ยังขึ้นแบบเดิมอีก

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\รtest\test_blank\test.php on line 15

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\appserv\www\รtest\test_blank\test.php on line 22

test.php

<body>
<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
$connection = mysql_connect('localhost','root999','1234') or die('Can not connect');
mysql_select_db('testPopup',$connection);
    $row = "";
    $res = mysql_query("SELECT PTest FROM TBPopup WHERE lCode='".$_POST["text1"]."' LIMIT 1");
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    mysql_free_result($res);
    mysql_close($connection);
}
?>
<form name="form1" method="post" action="test.php">
  <p>
    <input name="text1" type="text" id="text1" value="">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="<? echo (isset($row["PTest"])?$row["PTest"]:""); ?>">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>
</body>

รบกวนช่วยดูให้ทีครับ

ขอบคุณมากครับ

Administrator
Tue 7 Mar 2006 17:00:09
<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
$connection = mysql_connect('localhost','root999','1234') or die('Can not connect');
mysql_select_db('testPopup',$connection) or die(mysql_error());
    $row = "";
    $res = mysql_query("SELECT PTest FROM TBPopup WHERE lCode='".$_POST["text1"]."' LIMIT 1") or die(mysql_error());
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    mysql_free_result($res);
    mysql_close($connection);
}
?>
ลองทำการรันด้วยโค๊ดนี้อีกทีครับแล้วดูว่ามีการแจ้ง Error ว่าอะไรครับ เข้าใจว่าน่าจะมีความผิดพลาดอยู่ระหว่างการ connect จนถึงการ query ครับ
รุต
รุต
Thu 9 Mar 2006 10:01:10

รบกวนนิดนึงครับคือผมลองเอาโค้ดด้านบนไปลองtestดูมันมะเห็นขึ้นอะไรมาเลยนะครับ

error----------ที่เกิดขึ้นในเพจtest.php

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\รtest\test_blank\test.php on line 15

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\appserv\www\รtest\test_blank\test.php on line 22

test.php----------

</head>

<body>
<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
$connection = mysql_connect('localhost','root999','1234') or die('Can not connect');
mysql_select_db('testPopup',$connection);
    $row = "";
    $res = mysql_query("SELECT PTest FROM TBPopup WHERE lCode='".$_POST["text1"]."' LIMIT 1");
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    mysql_free_result($res);
    mysql_close($connection);
}
?>
<form name="form1" method="post" action="test.php">
  <p>
    <input name="text1" type="text" id="text1" value="">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="<? echo (isset($row["PTest"])?$row["PTest"]:""); ?>">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>
</body>

ผมลองใช้โค้ดด้านล่างนี้ลองดึงฐานข้อมูลดูก็ดึงได้ตามปกติครับ-----

<?php
$connection = mysql_connect('localhost','root999','1234') or die('Can not connect');
mysql_select_db('testPopup',$connection);
$sql = "SELECT * FROM TBPopup";
$result = mysql_query($sql,$connection);
while ($records = mysql_fetch_assoc($result)) { 
print($records['ICode'] . ':' . $records['PTest']);
}
?>

รบกวนด้วยนะครับ

Administrator
Thu 9 Mar 2006 20:10:52
เท่าที่ลองดู ลองตรวจสอบที่ lCode ช่วยตรวจสอบทีครับว่าในโค๊ดนั้นเป็น l (แอลเล็ก)หรือว่าเป็น I (ไอใหญ่) แก้ใช้ตรงกับชื่อฟิลด์ครับ
รุต
รุต
Sat 18 Mar 2006 18:49:55

รบกวนดูให้ทีครับ  มันยังขึ้นerrorแบบด้านล่างนี้นะครับ

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\testroot999\test_blank\test.php on line 15

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\appserv\www\testroot999\test_blank\test.php on line 22

ผมมะรู้มันผิดตรงไหนนะครับ รบกวนดูให้ทีครับ

----------------------------------------------------------

ฐานข้อมูลผมชื่อtestPopup

ตารางtbpopup

ฟีวICode    ----------I=ไอใหญ่ครับ

111

222

ฟิวPTest

ข้อมูลรายการที่111

ข้อมูลรายการที่222

------------------------------------------------------------

test.php

<body>
<?
if(isset($_POST["text1"]) && trim($_POST["text1"]) != ""){
$connection = mysql_connect('localhost','root999','1234') or die('Can not connect');
mysql_select_db('testPopup',$connection);
    $row = "";
    $res = mysql_query("SELECT PTest FROM TBPopup WHERE ICode='".$_POST["text1"]."' LIMIT 1");
    if(mysql_num_rows($res)){
        $row = mysql_fetch_array($res);
    }else{
       ?>
       <script language="javascript" type="text/javascript">alert("ไม่มีข้อมูลรายการในฐานข้อมูล");</script>
       <?
    }
    mysql_free_result($res);
    mysql_close($connection);
}
?>
<form name="form1" method="post" action="test.php">
  <p>
    <input name="text1" type="text" id="text1" value="">
    <input type="submit" name="Submit" value="add" >
    <input name="text5" type="text" id="text5" value="<? echo (isset($row["PTest"])?$row["PTest"]:""); ?>">
    <br>
    <br>
    <input name="text2" type="text" id="text2" value="test2">
    <br>
    <br>
    <input name="text3" type="text" id="text3" value="test3">
  </p>
  <p>
    <input name="text4" type="text" id="text4" value="test4">
  </p>
  <table width="200" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="reset" name="Submit4" value="Reset" onclick="this.form.text1.value='';"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="view" onclick="window.open('test2.php?text1='+this.form.text1.value+'&text2='+this.form.text2.value+'&text3='+this.form.text3.value+'&text4='+this.form.text4.value, 'newwin', 'width=300,height=200,status=no,toolbars=no'); return false;"></td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit3" value="ตกลง"></td>
    </tr>
  </table>
</form>
</body>

รบกวนด้วยนะครับ

ขอบคุณมากครับ

Administrator
Sat 18 Mar 2006 20:52:23
ผมได้ลองทำการสร้าง Database และ Table ชึ้นมาใหม่ทั้งหมดและนำโค๊ดของคุณไปใช้ก็สามารถใช้งานได้ปกตินะครับ

ผมทำการทดลองบน IIS+PHP 4.4.2+MySQL 4.1.15
ทำการทดลองบนระบบที่เพิ่งลงใหม่ Windows 2003 Ent เพื่อทดลองให้ท่านเกสเรื่องติดตั้ง PHP ครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login