Jump to content
php.lv forumi

Iekš viena mainīgā vairāki mainīgie (sql tabulas kolonnas)


senters

Recommended Posts

Kā iekš viena mainīgā ievietot vairākus mainīgos?

 

Ideja ir tāda, lai vienmēr nebūtu iekš sql "steitmenta" jāraksta visas vajadzīgās kolonnas šādā veidā:

 

$event_id = $row['id'];

$event_name = $row['name'];

$event_date_start = $row['date_start'];

$event_time_start = $row['time_start'];

$event_place = $row['place'];

$event_date_created = $row['date_created'];

 

gribētu tā vietā lietot vienu mainīgo $event_columns, kurš ietvertu sevī visas iespējamās tabulas kolonnas.

 

Kopaina varētu būt šāda:

 

$sql = mysql_query("select * from event where ...'");

while($row = mysql_fetch_assoc($sql))

{

$event_id = $row['id'];

$event_name = $row['name'];

$event_date_start = $row['date_start'];

$event_time_start = $row['time_start'];

$event_place = $row['place'];

$event_date_created = $row['date_created'];

 

echo $event_columns;

 

// sākas datu izvade

echo "...";

Edited by senters
Link to comment
Share on other sites

$row ir asociatīvs masīvs un jau satur vairākus mainīgos, nekas nekur nav jāliek.

Ja vēlies vienkārši attēlot visu $row saturu, tad

print_r($row);

 

vai, ja gribi vienkārši apvienot un atdalīt ar komatu tad

echo implode(', ',$row);

 

Un galu galā tu vari arī iterēt cauri visām $row vērtībām:

 

foreach($row as $key=>$val){
 echo $key.'='.$val.'<br />';
}

Edited by codez
Link to comment
Share on other sites

Man vajag nodefinēt šīs rindas ($row) atbilstoši mainīgajiem:

 

$event_id = $row['id'];

$event_name = $row['name'];

$event_date_start = $row['date_start'];

$event_time_start = $row['time_start'];

$event_place = $row['place'];

$event_date_created = $row['date_created'];

 

kurus pēc tam tālāk pielietoju datu izvadē.

Link to comment
Share on other sites

Vai arī izmanto variable variables.

 

$row['id'] = 1;
$row['name'] = 'Vārds';
$row['date_start'] = 'Datums';
$row['time_start'] = 'Laiks';
$row['place'] = 'Vieta';
$row['date_created'] = 'Datums';

foreach ($row as $key => $value) {
   ${"event_$key"} = $value;
}

echo('<p>' . $event_id . '</p>');
echo('<p>' . $event_name . '</p>');
echo('<p>' . $event_date_start . '</p>');
echo('<p>' . $event_time_start . '</p>');
echo('<p>' . $event_place . '</p>');
echo('<p>' . $event_date_created . '</p>');

Link to comment
Share on other sites

Tas nozīmē šo:

 

$data = mysql_query("select * from event .......");
while($row = mysql_fetch_assoc($data))
{
foreach ($row as $key => $value) {
${"event_$key"} = $value;}

echo "...$event_name.....";

 

aizvietot uz:

 

$data = mysql_query("select * from event .......");
$event = mysql_fetch_assoc($data);

echo "...$event['name'].....";

 

Vai pareizi sapratu?

Edited by senters
Link to comment
Share on other sites

Pārtaisīju uz jau sākumā esošo struktūru, nepārsaucot mainīgos par citiem mainīgajiem.

 

$data = mysql_query("select * from event where ...");
while($event = mysql_fetch_assoc($data))
{

echo ".$event['image_small']." .... ".$event['name']." utt ";
}

Link to comment
Share on other sites

Starp citu, ja visa info par noteiktu lietu glabājas masīvā (t.i., $x['...']), nevis $x_..., $x_..., $x_... utt.)... vēlāk pašam būs vieglāk strādāt. Tieši tam masīvi ir domāti!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...