php - 如何从 MySQL 中选择/查询多个名称

标签 php mysql

大家好,

拜托,我正在尝试实现一些简单的东西,但我没有在 PHP 中找到正确的解决方案。我想请教一些建议。

我在数组/向量中有一个名为 $lines 的服务器列表,现在我想选择 MySQL 数据库中的每个服务器名称以收集其他信息。

您能否给我一些关于如何从服务器名称中进行循环以选择/查询每个名称的想法?

谢谢!!

<html>
<head>

</head>
<body>

<form name="form1" method="post">
<textarea rows="10" name="servers[]" cols="50" ></textarea>
<input type="submit" name="submit" value="Submit" />
</form>

<?php
$con=mysqli_connect("hostxxxx","userxxxx","xxxxxxxx","xxxxxxx");
//Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  } 
if(isset($_POST["submit"]))
{
        if(!empty($_POST["servers"]))
        {
             echo '<h4>You have selected the following Servers:</4><br>';
            $submitted_array = array_keys($_POST["servers"]);                                                                  

       $lines = explode(PHP_EOL, $_POST["servers"][$submitted_array[0]]);
            foreach($lines as $servers)
            {           
        echo ($servers."<br>");
                }
}
else
{
echo 'Please write something';
}
}
?>
</body>
</html>

最佳答案

我已经得到了我需要的结果,希望它能有所帮助:

<body>
<form name="form1" method="post">
<textarea rows="1000" name="servers[]" cols="100" style="width:300px;height:300px;"></textarea>
<input type="submit" name="submit" value="Submit" />
</form>

<?php
$con=mysqli_connect("hostxxxxx:portxx","userx","passxx","msdb");
//Check connection
if (mysqli_connect_errno())
 {
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }    
if(isset($_POST["submit"]))
{
   if(!empty($_POST["servers"]))
   {
           echo '<h4>You have selected the following Servers:</4><br>';
           $submitted_array = array_keys($_POST["servers"]);                                                                  

           //BREAKING IN AN ARRAY
    $lines = explode(PHP_EOL, $_POST["servers"][$submitted_array[0]]);
           //foreach($lines as $servers)
           //{            
        //echo ($servers."<br>");
           //}
//REMOVING BLANK SPACES:        
function trim_value(&$value) 
{
   $value = trim($value); 
}
//ADDING QUOTES BETWEEN THE VALUES
function add_quotes($str) {
   return sprintf("'%s'", $str);
}
//REMOVING BLANK LINES        
array_walk($lines, 'trim_value');        

$VCSAC2 = "VCSAC2";
$LPAR = "LPAR";
$HOSTF = "HOSTF";
$CLASSG = "CLASSG";
$IP = "IP";
$STATUS = "STATUS";


//USING IMPLODE        
//$sql=sprintf("SELECT * FROM main WHERE HOSTF IN (".implode(',', $lines).")");
$sql=sprintf("SELECT * FROM main WHERE HOSTF IN (".implode(',', array_map('add_quotes',$lines)).")");        
//USED TO CHECK SQL SINTAX        
//echo $sql;        

$result=mysqli_query($con,$sql);    
}
else
{
   echo 'Please write something';
}
}
?>

<table id="demo1" cellpadding="0" cellspacing="0" style="width:100%" style="font-size:13px">
        <thead>  
       <tr>
                   <th align=left>HostName</th>
                   <th align=left>VCS</th>
            <th align=left>LPAR</th>
            <th align=left>IP</th>
            <th align=left>Class</th>
        </tr>
        </thead>
           <?php while($dado = mysqli_fetch_array($result)) {?>

       <tbody>
       <tr>
        <td align=left style="font-size:14px"><?php echo $dado[$HOSTF]; ?></td>
        <td align=left style="font-size:14px"><?php echo $dado[$VCSAC2]; ?></td>
            <td align=left style="font-size:14px"><?php echo $dado[$LPAR]; ?></td>
            <td align=left style="font-size:14px"><?php echo $dado[$IP]; ?></td>
            <td align=left style="font-size:14px"><?php echo $dado[$CLASSG]; ?></td>
            </tr>
        </tbody>
           <?php } ?>
           </table> <br><br>
</body>

关于php - 如何从 MySQL 中选择/查询多个名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50142313/

相关文章:

php - MySQL 结果数组到 session 变量

php - 哪种加密算法最适合加密 cookie?

php - 如何在同一个表中使用多个UNION

php - 更改 foreach php 中的原始数组值

php - 未找到基表或 View : 1146 Table 'Vojodb.users' doesn't exist

php - 检查数据库中的值并递增字母

php - laravel blade for and foreach with if loop maximum time

mysql - 显然,我的 MySQL 表已损坏

php - 使用数组选择mysql中的行

mysql - 如何在my.cnf中设置全局和 session 模式