Извеждане като 1 запис

djpatzo

Registered
Интересува ме как да направя така, че ако имам в базата данни 3 записа, които са едни и същи и само 1-то поле е различно да извеждам 3-те записа на 1 ред. А това поле, което се различава да се извежда в таблицата и да взема 3-те променливи. Примерно в базата данни имам 4 полета. име адрес телефон град. На 3-те реда имам данни от рода
  • гошо ул."Георги Минков 555555 Варна
    петьо ул."Георги Минков 555555 Варна
    митко ул."Георги Минков 555555 Варна

Искам в таблицата при извеждането да покажа тези неща в 4-те <TD> а където се различават всъщност в едното <TD> да изведа направо имената "гошо, петьо, митко"
 
Би ли дал един пример как искаш да се визуализират ,че нещо не мога да схвана идеята ти.
 
Имам 3 реда в mysql. В трите реда има съответно едни и същи данни и само id е различно искам 3-те реда да ги извеждам като 1 запис и съответно да показва едновременно 3-те различни ID-та.
 
Само за това се сещам ... :oops:
$query = mysql_query(" SELECT `name` FROM `djpatzo` WHERE `street` IN (SELECT `street` FROM `djpatzo` HAVING COUNT( `street` ) > 1)")or die(mysql_error());
while ($row = mysql_fetch_object($query)) {
$names[] = $row->name;
}
echo implode(",",$names);
но предполагам не е най-добрият вариант :idea:
 
Не се получава нещо. Проблема е, че ползвам и странициране май става по-сложно. С foreach няма ли начин да стане. Няма ли да е по-лесно. Във самия while да се сложи foreach за извеждането на това поле групирано.
 
Нали си промени заявката малко ,т.е. полетата в базата данни?
 
Е ти съмняваш ли се. Както виждаш питам за определени работи, а не за цели заявки.
 
Зададох въпрос ,защото тествах най-различни заявки и тази ми изкара резултати ... затова и я постнах. Явно нещо не разбирам , но , виж тази тема и мнението на @F1r3Fl3x , дано то ти помогне
 
Ето примерно от изображението. Обърни внимание, че ID, sms_to и датата са различни, а адрес мобилен и останалите полета са едни и същи.
1367.png

Искам примерно като извеждам записите самите 3 записа да са в 1 а където искам да изведа sms_to да изведе и 3-те реда от записа разделени със запетайка.

Ето пример.

Петър, Георги, Иван | mobile | address | phone | support | performed

Където | ми е разделителя между <TD> в HTML кода
 
Не знам дали и това ще ти помогне , тъй като аз не виждам много смисъл в него
$query = mysql_query("SELECT `sms_to`,`mobile`,`adress`,`phone`,`support`,`performed` FROM `djpatzo` WHERE `what_for` = 'Za puskane' ORDER BY `id` DESC")or die(mysql_error());
while ($row = mysql_fetch_object($query)) {
$names[] = $row->sms_to;
}
echo implode(",",$names)."|".mysql_result($query,0,"mobile")."|".mysql_result($query,0,"adress")."|".mysql_result($query,0,"support")."<br />";
 
Нещо не се получава. Заявките ми са такива, че да страницира резултатите. Ето ги и заявките, които ползвам до момента ако може да се преработи така, че да не се губят тези заявки защото и страниците се сбозяват.

Код:
$query   = "SELECT COUNT(*) AS numrows FROM `requests` WHERE what_for='Za puskane' ORDER BY time DESC";
$result  = mysql_query($query) or die('Error, query failed');
$row     = mysql_fetch_array($result);
$numrows = $row['numrows'];
$rowsPerPage = "8";


$broinastranica = 8;
$pageNum = 1;
if(isset($_GET['page'])){$pageNum = $_GET['page'];}
$redove = ($pageNum - 1) * $broinastranica ;

$query = "SELECT * FROM `requests` WHERE what_for='Za puskane' ORDER BY time DESC LIMIT $redove, $broinastranica";
 

Back
Горе