עזרה

amircx

New member
עזרה

איך אני מציג מידע מ DB של MYSQL שיראה את הנתונים בטבלה אבל בצורה של 2 בכל שורה? לדוגמא 1 2 3 4 5 6 7 EOF מישהו יכול לעזור לכתב פה ת'קוד?
 

crazypr

New member
הקוד בפנים....

לפני מה שהבנתי בטבלה יש שדה אחד ואתה רוצה להציג או ב 2 עמודות בשביל לחסוך מקום או משהו. אם לא תקן אותי....
<?php mysql_connect("...","...","..."); mysql_select_db("...."); $res = mysql_query("select * from table"); echo "<table>"; $i=0; while($row = mysql_fetch_array($res)) { if($i%2==0) echo "<tr><td>".$row["field"]."</td>"; else echo "<td>".$row["field"]."</td></tr>"; $i++; } ?>​
לא ניסיתי להריץ את הקד אבל אני מאמין שהוא יעבוד. אם יש בעיה תגיד
 

orenphp

New member
שיטה טיפה שונה

אם אתה רוצה ישר לקבל בכל תא חיבור של השדות עם רווח בינהם תשתמש בפונקצית ספרייה של הmysql: concat דוגמא:
$q = "SELECT CONCAT(firstField, REPEAT(' ',20), secondField) AS AllDetails from table_name"; $res = mysql_fetch_array(mysql_query($q)); while($row = mysql_fetch_array($res)) { //just print here the results as they come from the DB: echo $res["AllDetails"]; }​
בצורה כזו אתה מקבל את התוצאות מופרדות ישירות מרמת מסד הנתונים - דבר שיש לו יתרון (יעיל יותר) וחיסרון (קשה יותר לעשות פה מניפולציות). כמובן שכל מקרה לגופו, חשבתי שאולי זה יתרום טיפה.
 

orenphp

New member
טעות קטנה בקוד.

הנה התיקון (אמורים להדפיס את $row ולא את $res בלולאה):
$q = "SELECT CONCAT(firstField, REPEAT(' ',20), secondField) AS AllDetails from table_name"; $res = mysql_fetch_array(mysql_query($q)); while($row = mysql_fetch_array($res)) { //just print here the results as they come from the DB: echo $row["AllDetails"]; }​
זה מה שקורה כשכותבים קוד כשעייפים :) (מקווה שאין עוד טעויות כי אין לי כרגע אפשרות לבדוק את זה)
 
למעלה