Can I make it easier?

Hey im new to PHP (started last week) ive got 10 lines of information in SQLDB im does the same for all 10:

$db_line1 = mysql_query("SELECT * FROM messages WHERE message_id='1'");
$line1 = mysql_fetch_array($db_line1);
unset ($line1['0']);
unset ($line1['1']);
unset ($line1['2']);

$db_line2 = mysql_query("SELECT * FROM messages WHERE message_id='2'");
$line2 = mysql_fetch_array($db_line2);
unset ($line2['0']);
unset ($line2['1']);
unset ($line2['2']);

Etc. etc. to $ line10, is it possible to use something like the "foreach" function?

+3
source share
5 answers

EDIT author's next comment

Take all the lines at once

    $db_line = mysql_query("SELECT * FROM messages WHERE message_id >= '1'" .
                           " AND message_id <='10'");

    $rows = array();

    while ($line = mysql_fetch_assoc($db_line))
    {
       $rows[$line['message_id']] = $line;
    }

So you have an array of strings (i.e. an array of arrays).

To get a row for message_id3 just do

   $row = $rows[3];

and to access the column name,

   $row['name']

or

   $rows[3]['name']
+1
source
$query = mysql_query("SELECT * FORM messages");
while($result = mysql_fetch_assoc($query))
{
  echo "<pre>";
  print_r($result);
  echo "</pre>";
}
unset($result);
+3
source

( " " ):

$query = mysql_query("SELECT * FORM messages") or die(mysql_error());
$messages = array();
while($result = mysql_fetch_assoc($query))
{
  $messages[] = $result;
}
unset($result);

$.

+2

php:

    for ($i = 0; $i < 3; $i++){
        unset(${'line'.$i});
    }

EDIT: ():

$var1 = "hel";
$var2 = "lo";
$hello = "xxx";

echo ${$var1.$var2};  // outputs "xxx"

Using $ {'xyz'. $ variable} will give you a variable named 'xyz'. $ variable . Notice that "xyz". The $ variable is defined first.

+1
source
$db_lines = mysql_query("SELECT * FROM messages");
while ($line = mysql_fetch_array($db_lines))
{
    unset ($line['0']);
    unset ($line['1']);
    unset ($line['2']);
}
-1
source

Source: https://habr.com/ru/post/1767135/


All Articles