如何在查询为空时给出错误消息?

时间:2018-06-18 15:52:32

标签: javascript ajax

   <!DOCTYPE html>
<html>
<title>Benvenuto Ente</title>

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
body,h1,h2,h3,h4,h5,h6 {font-family: "Lato", sans-serif}
.w3-bar,h1,button {font-family: "Montserrat", sans-serif}
.fa-anchor,.fa-coffee {font-size:200px}

#inizio {
background-image: url("sfondo.jpg");

background-size: 1550px 840px;
color: white;
    background-repeat: no-repeat;
    background-attachment: fixed;

}
#mondo {
position: absolute;
    display: block;
    margin-left: 55%;
    margin-top: 10%;
    margin-right: auto;
    width: 30%;
    border-radius: 8px;

}

</style>

<body>

<div class="w3-panel w3-black w3-card-4"> 
<div>
<button class="w3-button  w3-black w3-hover-white" onclick="window.location='homepageEnte.html'">HOME</button>
<!--<button type="button" class="w3-button  w3-balck w3-hover-white" id="segnalazioniricevute" onclick="loadDoc('./segnalazioniricevute.php','')">Segnalazioni Ricevute</button>-->
<button class="w3-button  w3-black w3-hover-white" onclick="loadDoc('./segnalazioniricevute.php','presaincarico')">Segnalazioni Prese in carico</button>
<button class="w3-button  w3-black w3-hover-white" onclick="loadDoc('./segnalazioniricevute.php','lavorazione')">Segnalazioni in lavorazione</button>
<button class="w3-button  w3-black w3-hover-white" onclick="loadDoc('./segnalazioniricevute.php','conclusa')">Segnalazioni concluse</button>
<button class="w3-button  w3-black w3-hover-white">Mappa</button>
<button class="w3-button  w3-black w3-hover-white">Statistiche</button>
<button class="w3-button  w3-black w3-hover-white">Impostazioni</button>
</div>
</div>




<!-- Header--> <header  id="inizio" class="w3-container  w3-center" style="padding: 100px 50px;" >
<h1 class="w3-margin w3-jumbo"> <MARQUEE>BENVENUTO IN CIVIC SENSE</MARQUEE></h1>
<p class="w3-xlarge">&nbsp;</p>
</header>
<!--
<center><div class=" w3-row-padding w3-padding-64 modal-container">
  <div class="w3-card-4 w3-yellow" style="width:60%; height=800px;">

    <div id="demo" class="w3-container">

    </div>
  </div>
</div></center> 
-->


<!-- First Grid -->
<div id="demo" class="w3-row-padding w3-padding-64 w3-container">
<div class="w3-content">
<div class="w3-twothird">
<h1>COMUNE</h1>
<h5 class="w3-padding-32">Gestire tutte le segnalazioni in modo rapido e veloce!</h5>
<p class="w3-text-grey">Controlla tutte le segnalazioni effettuate dai cittadini. Gestisci il tuo comune... Sempre vicino al cittadino, a sua disposizione. <br>Aggiungi i tuoi gruppi di risoluzione e rimani sempre sempre aggiornato sul sul loro lavoro. Sembra un sogno ma...</p>
<h3 class="w3-padding-32">ORA PUOI !</h3>

</div>
<div class="w3-third w3-center">&nbsp;</div>
<img id="mondo"  style="float: right" src="MONDO.jpg" >
</div>
</div>

 <script type="text/javascript">
function loadDoc(url,st) {
$("#demo").remove();
//$("#fine").remove();
//$("#secondo").remove();
var txt="";
var i=0;
 xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myObj = JSON.parse(this.responseText);
         $("#secondo").before("<center><div id='demo' class='w3-row-padding w3-padding-64 w3-container'></div></center>");
         if (typeof myObj !== "undefined" || myObj !== null ) {




        for (x in myObj) {
            if(myObj[x].gravita=="1")
            {

             $("#demo").prepend("<div class='w3-card-4' style='width:80%;'> <header class='w3-container w3-green' ><h1 id='h'></h1></header> <div id='c' class='w3-container'></div><footer id='f' class='w3-container w3-green' align='right'></footer></div>");
            }
             else if(myObj[x].gravita=="2"){

              $("#demo").prepend("<div class='w3-card-4' style='width:80%;'> <header class='w3-container w3-yellow' ><h1 id='h'></h1></header> <div id='c' class='w3-container'></div><footer id='f' class='w3-container w3-yellow' align='right'></footer></div>");

              }
               else{

                    $("#demo").prepend("<div class='w3-card-4' style='width:80%;'> <header class='w3-container w3-red' ><h1 id='h'></h1></header> <div id='c' class='w3-container'></div><footer id='f' class='w3-container w3-red' align='right'></footer></div>");

            }
            txt = myObj[x].CDT + "<br>";
            document.getElementById("h").innerHTML = "<b>CDT Segnalazione:</b> "+txt;
            document.getElementById("c").innerHTML="<b>Tipologia:</b> "+myObj[x].tipologia +"<br>"+"<b>Titolo:</b> "+myObj[x].titolo + "<br>"+"<br>"+"<b>Descrizione: </b>"+"<br>"+myObj[x].descrizione+"<br>"+"<b>Latitudine:</b>"+myObj[x].latitudine+"<br>"+"<b>Longitudine:</b>"+myObj[x].longitudine+"<br>"+"<b>Via:</b>"+myObj[x].via+"<br>";
           // $("#c").after("<img id='im' src='' >");
            //$("#im").attr("src",myObj[x].immagine);
            if(myObj[x].email_utente==null)
            {
              document.getElementById("f").innerHTML="ANONIMO";
            }
            else
            {
              document.getElementById("f").innerHTML = "<b>Email utente:</b>"+myObj[x].email_utente + "<br>"+"<b>Nome:</b>"+myObj[x].nome + "<br>"+"<b>Cognome:<b>"+myObj[x].cognome + "<br>";
            }

        }
        //document.getElementById("demo").innerHTML = txt;
    }
    else{ 

                    $("#demo").prepend("<div class='w3-card-4' style='width:80%;'> <header class='w3-container w3-red' ><h1 id='h'>NON CI SONO SEGNALAZIONI </h1></header>>/div> ");
    }

}

};

xmlhttp.open("POST",url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("Stato="+st);

}

</script>

<!-- Second Grid -->
<div id="secondo" class="w3-row-padding w3-light-grey w3-padding-64 w3-container">
<div class="w3-content">
<div class="w3-third w3-center">&nbsp;</div>
<div class="w3-twothird">
<h1>Lorem Ipsum</h1>
<h5 class="w3-padding-32">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</h5>
<p class="w3-text-grey">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</div>
</div>
<div id="secondo" class="w3-container w3-black w3-center w3-opacity w3-padding-64">
<h1 class="w3-margin w3-xlarge">Quote of the day: live life</h1>
</div>
<!-- Footer --><footer  id="fine" class="w3-container w3-padding-64 w3-center w3-opacity">
<div class="w3-xlarge w3-padding-32">&nbsp;</div>
<p>Powered by <a href="https://www.w3schools.com/w3css/default.asp" target="_blank">w3.css</a></p>
</footer>
</body>
</html>
}

------- page php -------

<?php
     //connessione al nostro database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_vinbov";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 


header("Content-Type: application/json; charset=UTF-8");
$st=$_REQUEST["Stato"];
$i=0;
$sql="SELECT * FROM Segnalazioni INNER JOIN Utenti ON Segnalazioni.Email_utente=Utenti.email_utente WHERE stato='$st' ORDER BY gravita ";
$result = $conn->query($sql);


if ($result->num_rows > 0) {
    /*
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "CDT: " . $row["CDT"]. " - Utente: Anonimo " . "Titolo" . $row["titolo"]."Stato" . $row["stato"]."Tipologia" . $row["tiplogia"]."Descrizione" . $row["descrizione"]."Telefono".$row["telefono"]."<br>";
        //$array_s[$i]= 
        */
        $outp = array();
        $outp = $result->fetch_all(MYSQLI_ASSOC);
        echo json_encode($outp);
    }
 else {

     echo "<p>Nessuna segnalazione ricevuta.<p>";
}
$conn->close();
?

代码正常工作,显示我想要的一切。当查询没有返回结果时会出现问题,因为没有&#34; segnalazioni&#34;例如,concluse。 因为它给了我错误:

 *Uncaught SyntaxError: Unexpected token <in JSON at position 0
 at JSON.parse (<anonymous>)
 at XMLHttpRequest.xmlhttp.onreadystatechange (homepageEnte.html: 101).*

所以它不执行以下行

else{ 

                    $("#demo").prepend("<div class='w3-card-4' style='width:80%;'> <header class='w3-container w3-red' ><h1 id='h'>NON CI SONO SEGNALAZIONI </h1></header>>/div> ");
    }

你能用一些代码告诉我如何解决它吗?

1 个答案:

答案 0 :(得分:0)

只需在结果&lt;时添加另一个语句0

if ($result->num_rows < 0) {
// display something }