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

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

Ofir | OTM Group 22-02-09 15:45

יצירת מטריצת תמונות שמוחזרות משאילתת SQL.
 
שלום !

יש לי טבלת MySQL שבה שתי עמודות : עמודת ID ועמודת FName.

עמודת הID היא AI בכל הוספת שורה חדשה והFName מכילה את שם התמונה על השרת.

יש לי שאילתא שמחזירה את 16 הערכים הראשונים מהטבלה בסדר יורד. (מID גבוה לנמוך).

אני רוצה שדרך תצוגת התמונות תהיה במטריצה של ארבע תמונה על ארבע תמונות. כמו מערך דו מימדי בגודל 4 על 4. הערכים יהיו מסודרים בסדר יורד באופן הבא:

http://www.xcv.co.il/up/1235380412.jpg

הID מייצג את שם התמונה שתושם בתג <img> ובכך בעצם התמונה תוצג.

השאלה היא, כיצד אוכל לעשות זאת?

תודה לעוזרים

mlnn 22-02-09 15:54

כל 4 תמונות תוסיף BR? (ותיתן לכל התמונות float:right...)

vadimg88 22-02-09 15:54

PHP קוד:

<?php
$num_of_images 
48;

echo 
"<table>
    <tr>"
;

for(
$x=1$x<=$num_of_images$x++)
{
    echo 
"<td><a href='http://img.vessoft.com/soft/0/0/12/google_chrome.jpg' title='Block number {$x}'>
          <img src='http://img.vessoft.com/soft/0/0/12/google_chrome.jpg' title='Block number {$x}' style='border: none;' ></a></td>"
;
    if(
$x == 0)
    {
        echo 
"</tr><tr>";
    }
}

echo 
"</tr></table>";


Ofir | OTM Group 22-02-09 20:01

בעיה עם הפיתרון שניתן לי בידי vadimg88:
http://www.xcv.co.il/resize/start/view.php

שימו לב ל"קוביה" המיותרת אחרי שמודפסות 16 תמונות:
http://www.xcv.co.il/resize/start/view.php

vadimg88 22-02-09 20:18

זה בגלל שאני בלולאה שלי מתחיל לספור מ 1
ואני מניח שהתוצאות שלך שאתה מחזיר מהמסד ומכניס למערך מתחילות לספור מ 0 אז יוצא שיש 1 מיותר.
או שאת התוצאות שלך תתחיל לספור מ 1 במערך או שתשנה את ה x=1 בלולאה ל x=0

Slash 22-02-09 20:20

ציטוט:

נכתב במקור על ידי oFir | Xcv.co.il (פרסם 699649)
בעיה עם הפיתרון שניתן לי בידי vadimg88:
http://www.xcv.co.il/resize/start/view.php

שימו לב ל"קוביה" המיותרת אחרי שמודפסות 16 תמונות:
http://www.xcv.co.il/resize/start/view.php

תביא את הקוד שלך , הקוד שהביאו עובד טוב .

Ofir | OTM Group 22-02-09 20:37

הקוד:
PHP קוד:

<?php
    $dbhost 
"localhost";
    
$dbuser "*****";
    
$dbpass "******";
    
$dbname "******"
    
$conn mysql_connect($dbhost$dbuser$dbpass) or die('Error connecting to mysql');
    
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
    
mysql_select_db($dbname);

$res mysql_query('SELECT `id`, `FName` FROM `reka` LIMIT 0, 16');


$all_array = array();
while (
$img_data mysql_fetch_array($res))
{
    
$all_array[] = $img_data;
}
$num_of_images mysql_num_rows($res);


echo 
"<table>
    <tr>"
;
for(
$x=1$x<=$num_of_images$x++)
{

echo 
"<td><a href='files/".$all_array[$x]['FName']."' title=''>
          <img src='files/"
.$all_array[$x]['FName']."' title='' width='129px' height='96px' style='border: none;' ></a></td>";
    if(
$x == 0)
    {
    echo 
"</tr><tr>";
    }    
}

echo 
"</tr></table>"
?>

עדיין אותה בעיה

Slash 22-02-09 20:48

זה כי אתה מושך 17 רשומות :
קוד:

$res = mysql_query('SELECT `id`, `FName` FROM `reka` LIMIT 0, 16');


$all_array = array();

תשנה את זה ל:
קוד:

$res = mysql_query('SELECT `id`, `FName` FROM `reka` LIMIT 0, 15');


$all_array = array();


Ofir | OTM Group 22-02-09 20:52

אחרי השינוי ל15:
http://www.xcv.co.il/resize/start/view.php

vadimg88 22-02-09 21:15

נסה להחליף:

PHP קוד:

$num_of_images mysql_num_rows($res); 

ב

PHP קוד:

$num_of_images mysql_num_rows($res)-1



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

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