php和mysql:使用mysql数据插入input select,并在更改选择时显示所有其他字段

oxosxuxt  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(292)

我有这样的情况:
我的数据库表名为reteconsolare,包含以下字段:
id stato citta indirizzo telefono电子邮件url mappa descrizione(这不是真正的显示。我仅用于显示sito和mappa链接上的图像标题)
在这一刻,一切正常,只是当有更多的“citta”为“stato”我希望在“citta”栏将出现一个输入选择与所有可用名称的citta为stato排序从a到z,当改变选择,也应该显示正确的indirizzo,telefono,电子邮件,网址,Map。
下面是重复这些值的实际代码。
如。:
贝尔吉奥|布鲁塞尔
贝吉奥|沙勒罗伊

<?Php
  mysqli_set_charset($connessione, 'utf-8');

    $sql = "SELECT * FROM reteconsolare ORDER BY Stato, Citta";

    $query = $connessione->query($sql) ;
  while ($row = $query->fetch_assoc())  { 
        $stato=sprintf( $row["Stato"]); 
        $citta=sprintf( $row["Citta"]);
        $indirizzo=sprintf( $row["Indirizzo"]);
        $descrizione=sprintf( $row["Descrizione"]);
        $email=sprintf( $row["Email"]);
        $telefono=sprintf( $row["Telefono"]);
        $mappa=sprintf( $row["Mappa"]);
        $link=sprintf( $row["URL"]);
        $id=sprintf( $row["ID"]);
         ?>  

         <tr>
    <td width="20%"><ts><?Php echo($stato) ?></ts></td>
    <td width="20%"><ts><?Php echo($citta) ?></ts></td>
    <td width="30%"><ts><?Php echo($indirizzo) ?></ts></td>
    <td width="10%"><ts><?Php echo($telefono) ?></ts></td>
    <td width="10%"><ts><?Php echo emailize($email) ?></ts></td>

    <td width="5%" align="center"><?Php echo(' <a target=_blank href='); echo($link);  echo('>'); ?><img src="img/www.png" width="20" height="20" title="Link al sito del <?php echo ($descrizione);?>"></a></td>
    <td width="5%" align="center"><?Php echo(' <a target=_blank href='); echo($mappa);  echo('>'); ?><img src="img/Maps.png" width="20" height="20" title="Mappa del <?php echo ($descrizione);?>"></a></td>

      </tr>
   <?php } while ($row_news = $query->fetch_assoc());?>

<?php
    function emailize($text)
{
    $regex = '/(\S+@\S+\.\S+)/';
    $replace = '<a href="mailto:$1">$1</a>';

    return preg_replace($regex, $replace, $text);
}?>

我还搜索了另一种方法:不要重复stato的名字,用它的数据 Package 每个城市。我试着和mysql的团队一起玩。。。但没有结果。不管怎样,我不太喜欢这个解决方案。我想我可能也需要知道ajax来解决这个问题,但目前我还不能学习它…提前谢谢。

0mkxixxg

0mkxixxg1#

你可以做一件事:把“stato”存储在 array 并检查该值是否已存在于 array 不管怎样。例如:

<?Php
  mysqli_set_charset($connessione, 'utf-8');

    $sql = "SELECT * FROM reteconsolare ORDER BY Stato, Citta";

    $query = $connessione->query($sql) ;
    $Stato = array() ;
  while ($row = $query->fetch_assoc())  { 
        if(!in_array(sprintf($row["Stato"]),$Stato)){
        $stato=sprintf( $row["Stato"]); 
        $Stato = sprintf( $row["Stato"]);
        $citta=sprintf( $row["Citta"]);
        $indirizzo=sprintf( $row["Indirizzo"]);
        $descrizione=sprintf( $row["Descrizione"]);
        $email=sprintf( $row["Email"]);
        $telefono=sprintf( $row["Telefono"]);
        $mappa=sprintf( $row["Mappa"]);
        $link=sprintf( $row["URL"]);
        $id=sprintf( $row["ID"]);
         ?>  

         <tr>
    <td width="20%"><ts><?Php echo($stato) ?></ts></td>
    <td width="20%"><ts><?Php echo($citta) ?></ts></td>
    <td width="30%"><ts><?Php echo($indirizzo) ?></ts></td>
    <td width="10%"><ts><?Php echo($telefono) ?></ts></td>
    <td width="10%"><ts><?Php echo emailize($email) ?></ts></td>

    <td width="5%" align="center"><?Php echo(' <a target=_blank href='); echo($link);  echo('>'); ?><img src="img/www.png" width="20" height="20" title="Link al sito del <?php echo ($descrizione);?>"></a></td>
    <td width="5%" align="center"><?Php echo(' <a target=_blank href='); echo($mappa);  echo('>'); ?><img src="img/Maps.png" width="20" height="20" title="Mappa del <?php echo ($descrizione);?>"></a></td>

      </tr>
   <?php }} while ($row_news = $query->fetch_assoc());?>

<?php
    function emailize($text)
{
    $regex = '/(\S+@\S+\.\S+)/';
    $replace = '<a href="mailto:$1">$1</a>';

    return preg_replace($regex, $replace, $text);
}?>

希望这对你有用。

0qx6xfy6

0qx6xfy62#

签入语法时:

while ($row = $query->fetch_assoc())  { 
...
} while ($row_news = $query->fetch_assoc());

正确语法:

while(condition) {
...
}

do {
...
} while(condition)

相关问题