ABA


"עזרה בחילוץ DATA בצורה מסודרת (PHP)"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #11850 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11850
TheVirus

דרג אמינות חבר זה
   20:44   07.04.07   
אל הפורום  
  עזרה בחילוץ DATA בצורה מסודרת (PHP)  
 
   ערכתי לאחרונה בתאריך 07.04.07 בשעה 20:51 בברכה, TheVirus
 
יש לי את הסקריפט הבא שמאחסן מידע שהתקבל מהPOST לקובץ data1.txt.
הסקריפט:

<?

$pname = $_POST;
$fname = $_POST;
$birthm = $_POST;
$birthd = $_POST;
$birthy = $_POST;
$phone = $_POST;
$email = $_POST;
$birth .= $birthd . "/" . $birthm . "/" . $birthy;

if ($pname=="") { echo "אחד מהשדות נשאר ריק. נא מלא שוב"; }
elseif ($fname=="") { echo "אחד מהשדות נשאר ריק. נא מלא שוב"; }
elseif ($phone=="") { echo "אחד מהשדות נשאר ריק. נא מלא שוב"; }
elseif ($email=="") { echo "אחד מהשדות נשאר ריק. נא מלא שוב"; }

else {

//רווחים בין מילים
$tab = "\n";
$break = " , ";
$space = " ";
$br = "<br>";

$data .= $tab . $pname . $space . $fname . $break . $email .$break . $phone . $break . $birth . $br;


$fp = fopen("data1.txt", "a");

fwrite($fp,$data);
fclose($fp);
echo "פרטיך נקלטו בהצלחה";
}
?>


והמידע בקובץ TXT נשמר שורה שורה:

שם , [email protected] , 050-1111111 , 1/1/1111<br>
שם , [email protected] , 050-1111111 , 1/1/1111<br>
שם , [email protected] , 050-1111111 , 1/1/1111<br>

עכשיו אני רוצה לבנות סקריפט שידע להציג לי את הנתונים מסודר עם אפשרות למחיקת שורה מסויימת ובנוסף אחרי 40 שורות בניית דף נוסף אוט'.
מישהו יכול לעזור?

תודה מראש


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אתה רוצה שזה גם יציג לפי דפים? MeToR 07.04.07 23:20 1
     מור תפתח איזה אתגר כבר משעמם אשש akoka 07.04.07 23:33 2
         איזה אתגר אבל?:| אני אנסה לחשוב על משהו :| MeToR 08.04.07 00:03 3
     לא תהיה בחירה. יהיה קובץ אחד שהוא data.txt TheVirus 08.04.07 00:04 4
         אהה אני הבנתי אותך לא נכון בכלל חחח MeToR 08.04.07 00:11 6
  שניה אני מסדר לך :| MeToR 08.04.07 00:08 5
  אוקיי הנה: MeToR 08.04.07 01:15 7
     תודה רבה רבה רבה. TheVirus 08.04.07 02:06 8
         הוא מציג לך רק 4 שורות נכון? akoka 08.04.07 02:12 9
             הוא לא מציג לי אף שורה TheVirus 08.04.07 02:15 10
                 צודק לא ראיתי שימוש בfread או משו דומה:/נו נו נו מור akoka 08.04.07 02:17 11
                     טעות שלי זה כן מציג פשוט חייבים ללחוץ על הלינק לדף 1 TheVirus 08.04.07 02:31 12
                         טמבל אני לא ראיתי שהוא השתמש בfile akoka 08.04.07 02:54 13
                             מה שכן יש בעיה בחלוקת עמודים TheVirus 08.04.07 03:06 14
             אהה הבנתי מה הבעייה! MeToR 08.04.07 09:15 15
  הנה מתוקן: MeToR 08.04.07 09:40 16
     תודה אחי אתה גדול (: TheVirus 08.04.07 13:32 17

       
MeToR
חבר מתאריך 26.1.07
11 הודעות, דרג אמינות חבר זה
   23:20   07.04.07   
אל הפורום  
  1. אתה רוצה שזה גם יציג לפי דפים?  
בתגובה להודעה מספר 0
 
   זאת אומרת, המשתמש יבחר קובץ מסויים, נגיד temp3.txt, וזה יציג את ה-40 רשומות ממנו?
או שזה יציג את הכל ביחד וזהו?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   23:33   07.04.07   
אל הפורום  
  2. מור תפתח איזה אתגר כבר משעמם אשש  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות, דרג אמינות חבר זה
   00:03   08.04.07   
אל הפורום  
  3. איזה אתגר אבל?:| אני אנסה לחשוב על משהו :|  
בתגובה להודעה מספר 2
 
   אם יש לך איזה רעיון, תגיד לי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheVirus

דרג אמינות חבר זה
   00:04   08.04.07   
אל הפורום  
  4. לא תהיה בחירה. יהיה קובץ אחד שהוא data.txt  
בתגובה להודעה מספר 1
 
   ופשוט במידה ויהיו הרבה רשומות,אז בשביל הנוחות אז זה יפתח עוד דף במקום שיציג דף ארוך מאוד

תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות, דרג אמינות חבר זה
   00:11   08.04.07   
אל הפורום  
  6. אהה אני הבנתי אותך לא נכון בכלל חחח  
בתגובה להודעה מספר 4
 
   אני חשבתי שאתה רוצה שזה יפתח data1.txt, data2.txt וכו' :|
חחח
שניה אני עורך :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות, דרג אמינות חבר זה
   00:08   08.04.07   
אל הפורום  
  5. שניה אני מסדר לך :|  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 08.04.07 בשעה 00:11 בברכה, MeToR
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות, דרג אמינות חבר זה
   01:15   08.04.07   
אל הפורום  
  7. אוקיי הנה:  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 08.04.07 בשעה 01:18 בברכה, MeToR
 
קודם כל, אתה לא צריך לשרשר גם <br> במידע.

show.php, מציג את המידע:


<html dir="rtl">
<body>
<center>

<?php
$numlines=count(file("data.txt"));
$n=intval($numlines/40)+1;
for ($i=1; $i<=$n; $i++)
echo "<a href='show.php?page=$i'> $i </a>";
?>

<br>

<?
$f=file("data.txt");
$lines=array();
foreach($f as $line_num => $line)
$lines[$line_num+1]=$line;
if (isset($_GET['page']))
{
$num=intval($_GET['page']);
$from=($num*40)-39;
$to=count($lines);
}
else
{
$from=1;
$to=count($files);
}
?>

<table border="1">
<tr>
<td> שם מלא: </td>
<td> דואר אלקטרוני: </td>
<td> מספר טלפון: </td>
<td> תאריך לידה: </td>
<td> מחיקה: </td>
</tr>

<?
for ($i=$from; $i<=$to; $i++)
{
$a=explode(",",$lines[$i]);
?>

<tr>
<td> <?= $a[0]; ?> </td>
<td> <?= $a[1]; ?> </td>
<td> <?= $a[2]; ?> </td>
<td> <?= $a[3]; ?> </td>
<td> <a href="delete.php?line=<?=$i;?>"> מחיקה </a> </td>
</tr>

<?
}
?>

</table>
</center>
</body>
</html>


אתה יכול לעשות את רשימת הדפים גם בתיבת SELECT אם בא לך.

delete.php, מוחק שורה מסויימת:


<?php
if (isset($_GET['line']))
{
$l=$_GET['line'];
$f=file("data.txt");
$lines=array();
$i=1;
foreach($f as $line_num => $line)
{
if ($l!=$line_num+1)
{
$lines[$i]=$line;
$i+=1;
}
}
$fp=fopen("data.txt","w");
for ($i=1; $i<=count($lines); $i++)
fwrite($fp,$lines[$i]);
fclose($fp);
header("location: show.php");
}
else
{
echo "<center>";
echo "שגיאה בקבלת שורה, אנא היכנס שנית דרך <a href='show.php'> דף המידע </a> ";
echo "</center>";
}
?>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheVirus

דרג אמינות חבר זה
   02:06   08.04.07   
אל הפורום  
  8. תודה רבה רבה רבה.  
בתגובה להודעה מספר 7
 
   הוא לא מציג לי את הרשומות מה יכולה להיות הסיבה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   02:12   08.04.07   
אל הפורום  
  9. הוא מציג לך רק 4 שורות נכון?  
בתגובה להודעה מספר 8
 
   מור שכחת להוסיף לולאה שתעשה עם משתנה i קטן מcount של מספר השורות לקדם אותו ב++ ואז להכניס את משתנה i פעם אחת ב$a[$i] וזה זה יעבוד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheVirus

דרג אמינות חבר זה
   02:15   08.04.07   
אל הפורום  
  10. הוא לא מציג לי אף שורה  
בתגובה להודעה מספר 9
 
   התנאי של הFOR לא מתבצע משום מה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   02:17   08.04.07   
אל הפורום  
  11. צודק לא ראיתי שימוש בfread או משו דומה:/נו נו נו מור  
בתגובה להודעה מספר 10
 
   שניה ננסה לסדר לך את הקוד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheVirus

דרג אמינות חבר זה
   02:31   08.04.07   
אל הפורום  
  12. טעות שלי זה כן מציג פשוט חייבים ללחוץ על הלינק לדף 1  
בתגובה להודעה מספר 11
 
   ערכתי לאחרונה בתאריך 08.04.07 בשעה 02:33 בברכה, TheVirus
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   02:54   08.04.07   
אל הפורום  
  13. טמבל אני לא ראיתי שהוא השתמש בfile  
בתגובה להודעה מספר 12
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheVirus

דרג אמינות חבר זה
   03:06   08.04.07   
אל הפורום  
  14. מה שכן יש בעיה בחלוקת עמודים  
בתגובה להודעה מספר 13
 
   אם יש לי 150 שורות נתונים אז בעמוד הראשון הוא מציג את כל ה150. בעמוד השני מ41-150 ובשלישי מ82-150 וככה הלאה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות, דרג אמינות חבר זה
   09:15   08.04.07   
אל הפורום  
  15. אהה הבנתי מה הבעייה!  
בתגובה להודעה מספר 9
 
   ערכתי לאחרונה בתאריך 08.04.07 בשעה 09:16 בברכה, MeToR
 
רשמתי:

$to=count($files);

במקום:

$to=count($lines);

חוץ מזה יש עוד איזו בעיה שאני צריך לפתור חחח שנייה :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות, דרג אמינות חבר זה
   09:40   08.04.07   
אל הפורום  
  16. הנה מתוקן:  
בתגובה להודעה מספר 0
 
   show.php:

<html dir="rtl">
<body>
<center>

<?php
$numlines=count(file("data.txt"));
$n=intval($numlines/40)+1;
for ($i=1; $i<=$n; $i++)
echo "<a href='show.php?page=$i'> $i </a>";
?>

<br>

<?
$f=file("data.txt");
$lines=array();
foreach($f as $line_num => $line)
$lines[$line_num+1]=$line;
if (isset($_GET['page']))
$num=intval($_GET['page']);
else
$num=1;
$from=($num*40)-39;
if ((count($lines)-$from+1) > 40)
$to=$from+39;
else
$to=count($lines);
?>

<table border="1">
<tr>
<td> שם מלא: </td>
<td> דואר אלקטרוני: </td>
<td> מספר טלפון: </td>
<td> תאריך לידה: </td>
<td> מחיקה: </td>
</tr>

<?
for ($i=$from; $i<=$to; $i++)
{
$a=explode(",",$lines[$i]);
?>

<tr>
<td> <?= $a[0]; ?> </td>
<td> <?= $a[1]; ?> </td>
<td> <?= $a[2]; ?> </td>
<td> <?= $a[3]; ?> </td>
<td> <a href="delete.php?line=<?=$i;?>"> מחיקה </a> </td>
</tr>

<?
}
?>

</table>
</center>
</body>
</html>

בדקתי את זה אצלי וזה עובד :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheVirus

דרג אמינות חבר זה
   13:32   08.04.07   
אל הפורום  
  17. תודה אחי אתה גדול (:  
בתגובה להודעה מספר 16
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net