הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה | קוד לא עבוד לאחר הוספת לולאה. (https://hosts.co.il/forums/showthread.php?t=74980)

dor77 30-05-09 00:39

בעיה | קוד לא עבוד לאחר הוספת לולאה.
 
שלום.
אני מנסה להוציא נתונים מהמסד ולהציג אותם בסקריפט פשוט, שלפתי id ו email, כאשר ילחצו על מספר הid, יפתח נתון הemail.
בדומה למה שיש כאן בתפוז בהודעות.
זה קוד שפועל:

PHP קוד:

<html>
<head>
<script type = "text/javascript">

function toggle(){
var divn1 = document.getElementById("portfolio");
if (divn1.style.display == "none") {
divn1.style.display = "block";
}
else {
divn1.style.display = "none";
}
}

</script>
</head>
<body>
<?php
mysql_connect
("localhost""root""");
mysql_select_db("phpmyadmin");

$id=64;

$query mysql_query("SELECT * FROM `links` WHERE `id`='" $id "'");
$row=mysql_fetch_array($query); 

echo 
"<a href=\"#\" onclick = \"toggle()\">".$row['id']."</a>
<div id=\"portfolio\" class = \"hidden\" style=\"display:none\">
"
.$row['email']."
</div>
"
;

?>
</body>
</html>


אבל כאשר אני רוצה לעשות לולאה, זה לא עובד, הוא לא פותח את החלק השני כמו שצריך:

PHP קוד:


<html>
<head>
<script type = "text/javascript">

function toggle(){
var divn1 = document.getElementById("portfolio");
if (divn1.style.display == "none") {
divn1.style.display = "block";
}
else {
divn1.style.display = "none";
}
}

</script>
</head>
<body>
<?php
mysql_connect
("localhost""root""");
mysql_select_db("phpmyadmin");

$id=1;

$query mysql_query("SELECT * FROM `links` WHERE `id`='" $id "'");
$row=mysql_fetch_array($query); 

while(
$id!=20)
{
echo 
"<a href=\"#\" onclick = \"toggle()\">".$row['id']."</a>
<div id=\"portfolio\" class = \"hidden\" style=\"display:none\">
"
.$row['email']."
</div>
"
;
$id++;
}
?>
</body>
</html>

למה זה לא פועל אחרי שאני מוסיף את הלולאה?

תודה.

Davieh 30-05-09 11:08

מפני שאתה צריך כל פעם למשוך מהמסד, אתה מושך רק פעם אחת במקרה שלך, והלולאה לא איפו שהיא צריכה להיות :
PHP קוד:

$query mysql_query("SELECT * FROM `Table` LIMIT 0 , 20;");

while(
$row mysql_fetch_array($query))
{
    
$Id $row['Id'];
    
$email $row['email'];   


במקום לעשות עוד לולאה על כמות הפעמים שאתה רוצה לקרוא מהמסד כמו שאתה עשית, פשוט תשתמש בפקודה LIMIT שבעזרתה אתה יכול להגיד לו כמה רשומות לשלוף לך.

dor77 30-05-09 11:25

אתה צודק בקשר ללולאה, איך לא חשבתי על זה אבל עדיין זה לא עובד.
בקשר לLIMIT, אני סתם בדוק, מקודם היה תנאי עד שid לא יהיה שווה ל 500, זה סתם ניסיון, אני גם שולף "הכל" (*) במקום לשלוף רק את שני השדות שאני באמת צריך, זה סתם ניסיון ככה שאל תדאג למשאבים.
זה הקוד שלי עכשיו:

PHP קוד:


<html> 
<head>
<script type = "text/javascript"> 

function toggle(){ 
var divn1 = document.getElementById("portfolio"); 
if (divn1.style.display == "none") { 
divn1.style.display = "block"; 

else { 
divn1.style.display = "none"; 



</script> 
</head> 
<body> 
<?php 
mysql_connect
("localhost""root"""); 
mysql_select_db("phpmyadmin"); 

$id=1
 
$query mysql_query("SELECT * FROM `links` WHERE `id`='" $id "'");

while(
$row=mysql_fetch_array($query)) 
{  
echo 
"<a href=\"#\" onclick = \"toggle()\">".$row['id']."</a> 
<div id=\"portfolio\" class = \"hidden\" style=\"display:none\"> 
"
.$row['email'].
</div> 
"

$id++; 
$query mysql_query("SELECT * FROM `links` WHERE `id`='" $id "'");

?> 
</body> 
</html>

עכשיו לא מופיע כלום, הדף ריק לגמרי.
לא נגעתי ב php כמה שבועות בגלל הלחץ בלימודים, ככה שיכול להיות שאני עושה טעויות ממש מפגרות, כמו עם הלולאה מקודם.

תודה.

tbm 30-05-09 13:42

קוד:

$query = mysql_query("SELECT * FROM `links` WHERE `id`='" . $id . "'");


אתה שולף פה רק רשומה אחת תעשה
קוד:

where id<=$id

dor77 30-05-09 14:12

למה רק רשומה?
אני מגדיל את id כל הזמן.

tbm 30-05-09 23:42

תוריד את 2 השורות האלה
$id++;
$query = mysql_query("SELECT * FROM `links` WHERE `id`='" . $id . "'");
ותעשה מה שאמרתי לך זה יעבוד לך בטוח למה אתה שולח את אותה השאילתה 10 פעמים

dor77 31-05-09 12:26

אז עכשיו זה ה php שלי:

PHP קוד:



<?php 
mysql_connect
("localhost""root"""); 
mysql_select_db("phpmyadmin"); 

$id=1
 
$query mysql_query("SELECT * FROM `links` WHERE `id`='" $id "'");

while(
$row=mysql_fetch_array($query)) 
{  
echo 
"<a href=\"#\" onclick = \"toggle()\">".$row['id']."</a> 
<div id=\"portfolio\" class = \"hidden\" style=\"display:none\"> 
"
.$row['email'].
</div> 
"

$id++; 
$query mysql_query("SELECT * FROM `links` WHERE `id`<='" $id "'");

?>

עדיין לא עובד.

תודה.


כל הזמנים הם GMT +2. הזמן כעת הוא 17:36.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ